我非常需要这项练习的帮助。 我是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);
}
}
我只是想知道为什么第一个没有用。
最诚挚的问候,
菲
答案 0 :(得分:1)
你的内部while循环是无限的(当counter % 7 == 0
时,在外部while循环的第7次迭代中为真,当计数器达到7)并且没有意义时,因为你只想添加counter
到sum
一次,它可以被7整除。
应该用if语句替换:
while (counter<=100){
if (counter % 7 ==0) {
sum+= counter;
}
counter++;
}
答案 1 :(得分:1)
将while(counter % 7 == 0)
更改为if(counter % 7 == 0)