虽然语句不会循环跟随if语句

时间:2016-02-11 02:55:00

标签: java

这个想法是基本的,我想迭代一组边界。

我想要这样做的方法是创建一个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);
    }

1 个答案:

答案 0 :(得分:0)

当然,你可以在while循环中使用if语句。您的问题是最终“else”之后的continue语句将控制权返回到while循环的开头。因此,While循环中的三个最后一行 - 递增a和b并打印“一次迭代” - 不会运行。摆脱最后的else { continue; }条款。