Java 练习在 while 循环中



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

编写一个名为 SumOfSeven 的程序来总结这些 从 1 到 100 的数字,可被 7 整除。显示 总和和平均值。使用"while循环"来 回答这个问题。

这是我的答案:

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);   
}
}

我只是想知道为什么第一个不起作用。

此致敬意

王菲

你的内部 while 循环是无限的(当counter % 7 == 0时,这在外部 while 循环的第 7 次迭代中是正确的,当计数器达到 7 时)并且毫无意义,因为您只想在sum可以被 7 整除时向添加一次counter

它应该替换为 if 语句:

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

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

最新更新