在Java中将字符串转换为运算符(+ * /-)
我正在使用Stack类来计算涉及整数的简单算术表达式,例如1 + 2 *
3。您的程序将按照给定的顺序执行操作,而与运算符的优先级无关。因此,应计算表达式1 + 2 * 3(1 + 2) 3 = 9,而不是1+(2 * 3)=
7。
如果我得到的输入为1 + 2 * 3,我知道如何将字符串1,2,3转换为Integer。但是我不知道如何将+,*从字符串类型转换为运算符。
我的代码逻辑是:例如:给定字符串2 +(3 * 5),因此将首先操作3 * 5,然后在3 * 5的结果中执行+2。
回答:
可能最好的方法是equals
,但是最好忽略空格:
我不太确定如何分割字符串,但是例如,如果您有一个char op
和两个整数a
和b
:
String str = op.replace(" ", "");if(str.equals("*")){
retVal = a*b;
} else if(str.equals("+")){
retVal = a+b;
}//etc
以上是 在Java中将字符串转换为运算符(+ * /-) 的全部内容, 来源链接: utcz.com/qa/434213.html