如何在控制台中插入三角函数以进一步使用它?例如,sin(x) = 2x + 3log(y) 或类似的东西。我想..我需要输入一个表达式作为字符串,然后将其处理为。但如何呢?
最佳答案
看看exp4j
我们在我们的一个项目中广泛使用了这个库来解决您所面临的完全相同的问题。
Expression e = new ExpressionBuilder("3 * sin(y) - 2 / (x - 2)")
.variables("x", "y")
.build()
.setVariable("x", 2.3)
.setVariable("y", 3.14);
double result = e.evaluate();
在您的特定情况下,您可以在控制台中要求用户提供以下输入,并使用这些输入构建表达式:
- 输入要计算的表达式。这将成为 ExpressionBuilder 构造函数的参数。
- 输入代表表达式中变量的字符串。这将成为变量方法的输入。您可以将这些字符串作为键添加到可在下一步中使用的映射。
- 输入每个变量的值。这将成为 setVariable 方法的输入。您可以收集所有变量值作为在上述步骤中创建的映射中的值。您可以迭代映射并调用 setVariable(key,value),这样您就不需要事先知道表达式中存在多少个变量。
关于java - 在 Java 中计算三角表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29446223/