在While循环中的Java练习

时间:2016-12-01 08:22:43

标签: java

我非常需要这项练习的帮助。 我是Java的新手,我希望有人可以帮助我。 这是个问题:

编写一个名为SumOfSeven的程序来对它们求和 数字从1到100可被7整除。显示 总和和平均数。使用“while-loop”来 回答这个问题。

这是我的答案:

public class Practice {
    public static void main(String[] args) {

        int counter = 1;
        int sum = 0;

        while (counter<=100){
            while (counter % 7 ==0){
                sum+= counter;
            }

            counter++;
        }
        System.out.println("The sum is: " + sum);
    }
}

我尝试执行我的回答,但软件一直在加载,并没有显示任何答案。我能够使用我制作的另一个代码成功执行程序:

public class SumOfSeven {
    public static void main(String[] args) {

        int sum = 0;
        int counter = 0;

        while (counter<=100){
            sum+= counter;
            counter+=7;
        }
        System.out.println("The sum is: " + sum);   
    }
}

我只是想知道为什么第一个没有用。

最诚挚的问候,

2 个答案:

答案 0 :(得分:1)

你的内部while循环是无限的(当counter % 7 == 0时,在外部while循环的第7次迭代中为真,当计数器达到7)并且没有意义时,因为你只想添加countersum一次,它可以被7整除。

应该用if语句替换:

while (counter<=100){
    if (counter % 7 ==0) {
        sum+= counter;
    }

    counter++;
}

答案 1 :(得分:1)

while(counter % 7 == 0)更改为if(counter % 7 == 0)