这个想法是基本的,我想迭代一组边界。
我想要这样做的方法是创建一个while语句,后跟if语句,然后在结尾处递增,然后循环。
尝试我喜欢的东西,这永远不会出现在while语句的print语句中,我无法理解为什么。 (我尝试用for循环但是无法解决这个问题。)
知道为什么我不能在while循环中使用if语句吗?
double a=lend;
double b=lend+resolution;
double root;
System.out.println("Loop starting now.");
while(b<=rend){
if(poly(coefs, a)*poly(coefs,b)<0){
root = findRoot(coefs, a, b, tolerance);
System.out.println(String.format("%.5g%n", root));
}else if(poly(derivcoefs, a)*poly(derivcoefs, b)<0){
root = findRoot(derivcoefs, a, b, tolerance);
System.out.println(String.format("%.5g%n", root));
}else{
continue;
}
a+=resolution;
b+=resolution;
System.out.println("One iteration over, a="+a+", b="+b);
}
答案 0 :(得分:0)
当然,你可以在while循环中使用if语句。您的问题是最终“else”之后的continue
语句将控制权返回到while
循环的开头。因此,While循环中的三个最后一行 - 递增a和b并打印“一次迭代” - 不会运行。摆脱最后的else { continue; }
条款。