如何在一个字符串中添加两个数字?
我有:
String a = "(x+x)";
String lb = "2";
String b = a.replace("x", lb);
int c = ?
它输出2+2
,如何将它们正确地加到一个整数中?
答案 0 :(得分:1)
虽然您可以使用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);
答案 1 :(得分:0)
使用Integer.parseInt
method将String
解析为int
,然后添加值。添加字符串只是连接起来。
答案 2 :(得分:0)
您可以使用parseInt()方法。
答案 3 :(得分:0)
您的问题似乎可归纳为
如何将
"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;