在我的一个项目中,我想添加一个功能,例如用户可以在公式中提供
sin (x + pi)/2 + 1
Run Code Online (Sandbox Code Playgroud)
我在我的Java应用程序中使用它
/**
* The formula provided by the user
*/
private String formula; // = "sin (x + pi)/2 + 1"
/*
* Evaluates the formula and computes the result by using the
* given value for x
*/
public double calc(double x) {
Formula f = new Formula(formula);
f.setVar("x", x);
return f.calc();
// or something similar
}
Run Code Online (Sandbox Code Playgroud)
我如何评估数学表达式?
我希望有一个java类,它将保持一个具有任意预设精度的十进制值.该类BigDecimal看起来是一个很好的候选者作为起点,但我希望能够将小数的大小限制为最终用户决定的任何内容.从字面上讲,最终用户将在基数10中指定一个范围,我将分配足够的字节来表示该范围内的任何数字.
我想要有一个扩展的课程BigDecimal.在这个类中,我将添加模拟预设范围内的小数所需的函数.
我对社区的问题是:是否有任何图书馆已经这样做了?
扩展BigDecimal是否合理?
我正在制作一个Java程序来计算Simpson的积分规则.这是我的代码.注意count == 4,9,10,11的输出值中的第二列数字.它们不是我需要的数字,它们不遵循这种模式.我需要这些数字是准确的.发生了什么,我该如何解决?
public static void main(String[] args)
{
double totalS = 0.0;
int count = 0;
for(double i=0; i< 4; i += 0.4 )
{
count++;
totalS += Sfunction(i, count);
System.out.println(count + " " + i + " " + totalS);
}
}
public static double Sfunction(double f1, int count)
{
double value;
if (f1 == 0.0 || f1 == 4.0)
value = Math.cos(Math.sqrt(f1));
else if ((count % 2) == 1)
value = 2 * Math.cos(Math.sqrt(f1));
else
value = …Run Code Online (Sandbox Code Playgroud)