如何将包含星号的字符串转换为整数?

时间:2018-10-20 16:58:11

标签: java string-parsing

我有一个字符串

String numAsString = "8 * 9";

我想将其转换为整数,所以当我打印整数

int numAsInt = (the code I am asking for);
System.out.println(numAsInt);

输出为

72

我尝试了parseInt和valueOf,但是都给出了星号的异常原因。 如果您不知道,星号表示乘法。
有办法吗?

2 个答案:

答案 0 :(得分:4)

按星号分析字符串并乘以部分:

String input = "8 * 9";
String parts[] = input.split("\\*");
int result = 1;
for(String part : parts)
    result *= Integer.parseInt(part.trim());
System.out.println(result);

答案 1 :(得分:-1)

您可以使用类似的方法,这很容易:

String[] values = numAsString.split("\\*");
numAsInt = Integer.valueOf(values[0].trim()) * Integer.valueOf(values[1].trim());

但是,如果您有计算或带有括号,加号,减号等的内容,则可以使用以下方法: Running JavaScript code in java
我认为这对您有帮助。