-1

如何在一个字符串中添加两个数字?

我有:

String a = "(x+x)";
String lb = "2";

String b = a.replace("x", lb);

int c = ?

它输出2+2,我如何让它正确地将它们加在一起成一个整数?

4

4 回答 4

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);
于 2013-10-10T17:18:09.000 回答
0

使用该Integer.parseInt方法将 a 解析String为a int,然后添加值。添加字符串只是将它们连接起来。

于 2013-10-10T17:09:10.930 回答
0

您可以使用parseInt()方法。

于 2013-10-10T17:09:36.267 回答
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;
于 2013-10-10T20:29:35.707 回答