A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

键盘输入一个含有括号的四则运算表达式,可能含有多于的括号,编程整理该表达式,去掉所有多于的括号,原表达式中所有变量和运算符相对位置保持不变,并保持与原表达式等价。
例:
输入表达式        应输出表达式
a+(b+c)             a+b+c
(a*b)+c/d          a*b+c/d
  a+b/(c-d)          a+b/(c-d)
我没有思路,求高手指点

3 个回复

倒序浏览
我不是高手,也编不出来你要的程序,但是有点思路,你参考下吧;
首先定义一个返回值为String类型的函数,传入的参数也是String类型的变量s;用indexOf()方法判断第一个“(”的位置,
再判断如果“(”前一个角标为+  或 -,则用把最后一个“)”找出来,api里有从后往前找的方法,last_indexOf(),把他们去掉,
否则,就原样返回,因为其他的左右移动,赋值啥的和乘除一样,括号最好不去掉
回复 使用道具 举报
恩,我觉得还是有代码和注释比较好理解点,这些难题上脑筋啊,不是短时间能做出来的,对于我来说确实有点困难
回复 使用道具 举报
这个贴不错!!!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马