如何在一个字符串中添加两个数字?
我有:
String a = "(x+x)";
String lb = "2";
String b = a.replace("x", lb);
int c = ?
它输出2+2
,我如何让它正确地将它们加在一起成一个整数?
虽然您可以使用 Java 库来实现评论中提到的这一目标,但自版本 6 以来,Java 中内置了一些可能有用的东西(但可能有点矫枉过正)。我建议这样做不是因为我认为它特别有效,而是作为使用库的替代方案。
使用 JavaScript:
import javax.script.ScriptEngineManager;
import javax.script.ScriptEngine;
ScriptEngine jsRuntime = new ScriptEngineManager().getEngineByName("javascript");
String expression = "2+2"; //The expression you would to evaluate.
double result = (Double) jsRuntime.eval(expression);
使用该Integer.parseInt
方法将 a 解析String
为a int
,然后添加值。添加字符串只是将它们连接起来。
您可以使用parseInt()方法。
看来您的问题可以概括为
如何将字符串转换为
"2+2"
数字4
这是一个仅使用标准 Java 库的解决方案:
String sumExpression = "2+2";
String[] numbers = sumExpression.split("\\+");
int total = 0;
for (String number: numbers) {
total += Integer.parseInt(number.trim());
}
// check our result
assert total == 4;