gpt4 book ai didi

java - 如何使用 Integer.parseInt(str) 的返回值计算 int 表达式

转载 作者:行者123 更新时间:2023-12-02 07:39:09 25 4
gpt4 key购买 nike

Java 代码...

如果我有

int num = 10 + 5;
System.out.println(num);

结果是15

如果我有

String str = "10";
int number = Integer.parseInt(str);
System.out.println(number);

结果是10

但是如果我有

String str = "10 + 5"; //here the problem.
int number = Integer.parseInt(str);
System.out.println(number);

结果是错误消息。

如何正确地做到这一点。我想要实现的是从字符串中获取表达式并计算它。我被迫从 String 中获取它,因为我从 JTextfield 中获取它,所以我想对返回的 String 表达式进行计算。

最佳答案

没有简单的方法可以直接执行此操作,因为您需要某种“表达式求值器”。一种方法是使用脚本库中的 JavaScript 引擎:

public static void main(String[] args) throws Exception {
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("JavaScript");

String s = "10 + 5";
int result = ((Double) engine.eval(s)).intValue();
System.out.println(result); // 15
}

关于java - 如何使用 Integer.parseInt(str) 的返回值计算 int 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11810735/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com