黑马程序员技术交流社区

标题: 一个编程解决的问题,我不会,能指点下吗?给个思路 [打印本页]

作者: 邓海涛    时间: 2012-4-9 13:25
标题: 一个编程解决的问题,我不会,能指点下吗?给个思路
键盘输入一个含有括号的四则运算表达式,可能含有多于的括号,编程整理该表达式,去掉所有多于的括号,原表达式中所有变量和运算符相对位置保持不变,并保持与原表达式等价。
例:
输入表达式        应输出表达式
a+(b+c)             a+b+c
(a*b)+c/d          a*b+c/d
  a+b/(c-d)          a+b/(c-d)
我没有思路,求高手指点
作者: 胡元    时间: 2012-4-9 21:15
我不是高手,也编不出来你要的程序,但是有点思路,你参考下吧;
首先定义一个返回值为String类型的函数,传入的参数也是String类型的变量s;用indexOf()方法判断第一个“(”的位置,
再判断如果“(”前一个角标为+  或 -,则用把最后一个“)”找出来,api里有从后往前找的方法,last_indexOf(),把他们去掉,
否则,就原样返回,因为其他的左右移动,赋值啥的和乘除一样,括号最好不去掉

作者: 邓海涛    时间: 2012-4-9 21:57
恩,我觉得还是有代码和注释比较好理解点,这些难题上脑筋啊,不是短时间能做出来的,对于我来说确实有点困难
作者: pray    时间: 2014-4-26 08:01
这个贴不错!!!!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2