当前位置: 首页 > 面试题库 >

在Java中将字符串转换为运算符(+ * /-)

曹波鸿
2023-03-14
问题内容

我正在使用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和两个整数ab

String str = op.replace(" ", "");

if(str.equals("*")){
   retVal = a*b;
} else if(str.equals("+")){
   retVal = a+b;
}//etc


 类似资料:
  • 问题内容: 我想将一些转换成这样的运算符: 如何将变量操作转换为运算符? 问题答案: 您可以尝试以下方法:

  • 问题内容: 如何将字符串转换成运算符plus?谢谢! 问题答案: 使用查找表:

  • 问题内容: 如果字符串是java中的任何有效数字(例如int,long,double等),我如何将字符串转换为抽象数字。 我将不知道字符串中数字的类型,所以我不能使用特定的原始解析(例如Integer.parseInt,Long.parseLong等)。有什么通用的方法可以转换它吗? 例如: 字符串->数字 “ 23423”-> 23423 “ 34.3”-> 34.3 “ 45364573747

  • 问题内容: 我有一个; 我想转换为字符串数组。我该怎么做?有内置的Java函数吗?可以手动完成,但是我正在搜索Java内置函数。 我想要一个数组,其中字符串的每个字符都是一个字符串。像char’n’现在将是存储在数组中的字符串“ n”。 问题答案: 要开始你的作业,请在正则表达式上拆分字符串,该表达式可以为空字符串: 产生数组: 留空的第一条目留给读者练习:-) 注意:在Java 8中,不再包含空

  • 本文向大家介绍在Java中将StringBuilder转换为字符串,包括了在Java中将StringBuilder转换为字符串的使用技巧和注意事项,需要的朋友参考一下 StringBuilder类的toString()方法重新运行当前对象的String值。要将StringBuilder转换为String值,只需在其上调用toString()方法。 实例化StringBuilder类。 使用appe

  • 如何将Java中的字符串(如12.34)转换为双精度?