在java中的字符串中添加数字

时间:2013-10-10 17:07:04

标签: java string parsing int

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

我有:

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

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

int c = ?

它输出2+2,如何将它们正确地加到一个整数中?

4 个答案:

答案 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 methodString解析为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;