我想从字符串中评估表达式..
public static void main(String[] args) {
String test = "2+3";
System.out.println(Integer.parseInt(test));
}
它返回一个NumberFormatException错误。我该怎么解决这个问题?
答案 0 :(得分:4)
这不适用于基本的java(AFAIK),可能还有一些表达式评估器库。 你必须解析字符串。 E.g:
String[] nums = string.split("+");
List<Integer> numbers = new ArrayList<Integer>();
for(String num : nums) {
numbers.add(Integer.parseInt(num));
int result = addNumbers(numbers);
其中addNumbers是您编写的用于在列表中添加数字的方法。 如果你有更多的操作,你也必须解析运算符,构建表达式树然后遍历它。