用java语言求解两个代数方程

用java语言求解两个代数方程,java,algebra,equations,Java,Algebra,Equations,我有两个方程需要用java计算 y=(x+1)*2-3 y=5 这些方程本质上是动态的 y= x*8x6-5*5 y= 3 y在这些等式中是已知的,我需要确定x 用java编写程序的最好、最简单的方法是什么?似乎有几种方法可以做到这一点。我的第一个想法(总是过于复杂,除了好玩之外,很可能不值得去做)是使用create-a语法来解析操作顺序,可以计算变量和常量的东西,等等。然后用编程的方式求解方程。然而,这并非易事。如果这是针对编译器类的,则可能值得一看,否则请忽略它 我的第二个想法是使用暴力

我有两个方程需要用java计算

y=(x+1)*2-3
y=5
这些方程本质上是动态的

y= x*8x6-5*5
y= 3
y
在这些等式中是已知的,我需要确定
x


用java编写程序的最好、最简单的方法是什么?

似乎有几种方法可以做到这一点。我的第一个想法(总是过于复杂,除了好玩之外,很可能不值得去做)是使用create-a语法来解析操作顺序,可以计算变量和常量的东西,等等。然后用编程的方式求解方程。然而,这并非易事。如果这是针对编译器类的,则可能值得一看,否则请忽略它

我的第二个想法是使用暴力。不过,您需要弄清楚如何处理x的负值

public int solve(int y){
    int x=0;
    while(y>(x+1)*2-3)
        x++;
}

如果说这些方程是“动态的”,我们就推断你正在试图构造一个程序来求解任意代数方程(或方程组)中的x,这远远超出了本论坛的范围。有完整的软件包设计来做类似的事情

几年后,希望这能帮助一些人,为了使这更简单,我将使用库exp4j()和IDE netbeans 8.2()。

稍后,单击按钮添加代码:

试试看{
net.objecthunter.exp4j.Expression e=新的ExpressionBuilder(txtFunc.getText())
.变量(“x”)
.build()
.setVariable(“x”,Double.parseDouble(txtVar.getText());
双重结果=e.评估();
txtRes.setText(“+”结果);
}捕获(例外e){
showMessageDialog(null,“修改函数或变量,可能的操作错误:除数为0”);
}

注:这是为了评估“x” 这样做会有点复杂,所以我们要做一些数学计算,如果5是计算的函数值,那么我们分离出“x”的值。x=(y+1)/2,然后重新计算,x=(5+1)/2=3,x=3,并用代码验证这实际上是答案。


另一个函数也是一样的。(对不起,我的专业英语)

“y在这些方程中是已知的”如果你已经知道y,为什么你需要创建一个程序来计算这些方程的性质?是的,我知道。。。我建议采取一种方法,而不是解决办法