我正在尝试制作一个计算器应用程序,我输入的最终方程有一个字符串."983 + 388 + 12"我的解决方法是首先确定运营商的位置.在此之后,我向后和向前循环尝试找到2个数字,然后我添加它们.所以我会找到加号然后是983和388并添加它们.我在匹配与添加符号相关的上一个/下一个数字时遇到问题.
public static void main(String[] args) { int plus=0; String string="983+388+12"; //locating Plus symbol for(int i=0;i我没有得到任何返回作为nextNumber的值
1> rgettman..:当您
+
在第一个循环中找到时,您不会停止扫描字符串.这导致plus
标记最后一个的位置,该位置+
在388之后和12之前.第二个循环永远不会找到+
或-
在最后一个之后+
,因此没有打印任何内容.当你找到第一个+
,break
出了循环.此外,为避免
38
被发现,请更正您的substring
呼叫,其中结尾索引是独占的.String nextNumber = string.substring(plus + 1, i);