2016-12-01 53 views
-2

我急需此练习的帮助。 我是Java的新手,我希望有人能帮助我。 这里的问题:在while循环中的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

'而(计数器%7 == 0)'是一个无限循环,你需要一个'if' condtion这里 –

回答

1

你内心的,而循环是无限的(当counter % 7 == 0,这是在外层while循环,当计数器达到7第七届迭代真)和毫无意义的,因为你只要添加countersum一次当它是由7

整除应该由if语句来代替:

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

    counter++; 
} 
+0

另外,把'计数器++'了'if'块内。你只需要计算可以被7 – AhmadWabbi

+0

整除的值。明白了,谢谢。 –

+0

不知道内部循环是无限的。我认为内循环只会执行到<= 100。再次感谢伊兰! –

1

变化while(counter % 7 == 0)if(counter % 7 == 0)