首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在java中求解两个代数方程

在java中求解两个代数方程
EN

Stack Overflow用户
提问于 2013-03-05 23:05:49
回答 3查看 4.6K关注 0票数 0

我有两个方程式需要在java中求值。

代码语言:javascript
复制
y=(x+1)*2-3
y=5

这些方程本质上是动态的。

代码语言:javascript
复制
y= x*8x6-5*5
y= 3

在这些等式中,y是已知的,我需要确定x的值

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

EN

回答 3

Stack Overflow用户

发布于 2013-03-05 23:28:38

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

我的第二个想法是使用暴力。尽管你需要弄清楚如何处理x的负值。

代码语言:javascript
复制
public int solve(int y){
    int x=0;
    while(y>(x+1)*2-3)
        x++;
}
票数 1
EN

Stack Overflow用户

发布于 2018-07-05 11:15:48

几年后,我希望这对某些人有所帮助,为了使这件事变得更简单,我将使用库exp4j (https://www.objecthunter.net/exp4j/)和IDE NetBeans8.2 (https://netbeans.org/)。Create a frame like this

稍后在按钮上添加代码:

try { net.objecthunter.exp4j.Expression e = new ExpressionBuilder(txtFunc.getText()) .variables("x") .build() .setVariable("x", Double.parseDouble(txtVar.getText())); double result = e.evaluate(); txtRes.setText("" + result); } catch (Exception e) { JOptionPane.showMessageDialog(null, "Revisa la función o la variable, Posibles errores de operación: División entre 0"); }

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

Comprobation

另一个函数也是如此。(很抱歉我的专业英语)

票数 0
EN

Stack Overflow用户

发布于 2013-03-05 23:29:07

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

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15227122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档