gpt4 book ai didi

java - 尝试对输入多项式进行二分法,陷入无限循环

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

我觉得我的代码是正确的,但每次运行它时,都没有打印出任何内容。我错过了什么吗?另外,我想知道一旦找到最多 5 个指数的多项式的所有根,如何让程序停止。我可以创建一个包含 5 个不同值的数组吗?

public void bisection(){
this.x = 5;
this.y = calculateY(5);

while(this.y != 0) {
if (this.y < 0) {
this.lowerBound = x;
while (this.y <= 0) {
x--;
if (this.y < lowerBound) {
x++;
}
if (this.y > 0) {
this.upperBound = x;
}
}
double average = this.lowerBound + this.upperBound / 2;
this.y = calculateY(average);
if(this.y == 0){
System.out.println(average);
}else{
return;
}
}
if(this.y > 0) {
this.upperBound = x;
while(this.y >= 0) {
x--;
if(this.y > upperBound) {
x++;
}
if(this.y < 0) {
this.lowerBound = x;
}
}
double average = this.lowerBound + this.upperBound / 2;
this.y = calculateY(average);
if(this.y == 0){
System.out.println(average);
}else{
return;
}
}
}
}

}

最佳答案

在最里面的 while 循环中:

while (this.y <= 0) {

while(this.y >= 0) {

没有任何改变this.y - 因此这些循环一旦进入就永远不会退出。

关于java - 尝试对输入多项式进行二分法,陷入无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36048707/

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