gpt4 book ai didi

Java 从字符串中解决数学运算

转载 作者:行者123 更新时间:2023-12-01 16:52:26 26 4
gpt4 key购买 nike

我有一个奇怪的任务需要用 Java 来做。在不使用任何循环和 if 语句的情况下,我必须开发简单的计算器,它定义一个字符串中的所有操作和数字,例如:“126.7214 + 121”我使用正则表达式来解析字符串并获取 3 个字符串变量 ['125.7214', '+' ,'121'],通常我会执行 if 语句,parseString 为整数,然后根据数学符号执行 if 语句来对这些数字求和,但是我不能。 Java 有什么技巧可以更快地做到这一点吗?一些现成的图书馆?我将不胜感激任何建议。 :代码:

import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class Calc {

public String doCalc(String cmd) {

Matcher m = Pattern.compile("\\S+").matcher(cmd);
m.find();
String num1= m.group(0);
m.find();
String znak = m.group(0);
m.find();
String num2 = m.group(0);





return result;
}
}

最佳答案

JavaScript 解析器非常适合表达式。

import javax.script.ScriptEngineManager;
import javax.script.ScriptEngine;
public class Expression{
public static void main(String[] args){
ScriptEngineManager script = new ScriptEngineManager();
ScriptEngine eng = mgr.getEngineByName("JavaScript");
System.out.println(eng.eval("5+5*5"));
}
}

关于Java 从字符串中解决数学运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37331227/

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