如何使用'for循环'代替'while循环'

时间:2010-07-10 22:51:47

标签: java

必须使用while,do-while和for循环为在线预java类编写以下程序。 寻找一点解释。提前谢谢!
PS虽然寻找参考书籍是Java还是Javascript?有关好的参考书的任何建议吗?我得到了这个概念,大多数情况下,魔鬼肯定在细节中。

public class ExamsFor {

    public static void main(String[] arguments) {


    int inputNumber; // One of the exams input by the user.
    int sum;     // The sum of the exams.
    int count;   // Number of exams.
    Double Avg;    // The average of the exams.


    /* Initialize the summation and counting variables. */

    sum = 0;
    count = 0;

    /* Read and process the user's input. */

    TextIO.put("Please enter the first exam: "); // get the first exam.


        inputNumber = TextIO.getlnInt();

    for (inputNumber!=0; sum += inputNubmer; count++ ) {  // had the while loop below enter here, worked

    TextIO.put("Please enter the next exam, or 0 to end: "); // get the next exam.  
    inputNumber = TextIO.getlnInt();
    } 

    /* Display the result. */

    if (count == 0) {
    TextIO.putln("You didn't enter any data!");
    }
    else {
    Avg = ((double)sum) / count;
    TextIO.putln();
    TextIO.putln("You entered " + count + " exams.");
    TextIO.putf("The average for the exams entered is %1.2f.\n", Avg);
    } 

    } // end main ()
}  // end class ExamsFor

/*  Had the following 'while loop' in place of the 'for loop'


while (inputNumber != 0) {
    sum += inputNumber;  // Add inputNumber to running sum.
    count ++;        // Count the input by adding 1 to the count.

*/

4 个答案:

答案 0 :(得分:5)

你可以比较forwhile语句,观察你在迭代结构中主要需要4个东西:

  • 条件(A
  • 中使用的值的初始值
  • 用于检查是否保持迭代(B
  • 的条件
  • 一个声明,修改每次检查的值(C
  • 声明本身(BODY

for你有

for (A; B; C)
  BODY

而对于while(这里充满了单词笑话:)你有类似

的东西
A;
while (B)
{
  BODY;
  C;
}

这很简单,不是吗?

答案 1 :(得分:1)

你的for循环不应该是:(注意前面的;总和中的拼写错误+ = inputNumber)

for (;inputNumber!=0; sum += inputNumber, count++ )

while循环将是

while(inputNumber!=0) {
// rest of the things
 sum+=inputNumber;
 count++;
}

答案 2 :(得分:0)

阅读this并将您的for循环与预期语法进行比较,以查看您出错的位置。

答案 3 :(得分:0)

您的for循环存在问题,基本上不正确。来自The Java Tutorials:

  

The for Statement

     

[...] for语句的一般形式   可表示如下:

for (initialization; termination; increment) {
    statement(s)
}
     

使用此版本的for时   声明,请记住:

     
      
  • 初始化表达式初始化循环;它被执行了   一次,当循环开始。
  •   
  • 当终止表达式的计算结果为false时,循环   终止。
  •   
  • 每次迭代循环后调用increment表达式;   这是完全可以接受的   表达式增加或减少a   值。
  •   
     

以下程序ForDemo使用   for语句的一般形式   将数字1到10打印到   标准输出:

class ForDemo {
     public static void main(String[] args) {
          for(int i=1; i<11; i++){
               System.out.println("Count is: " + i);
          }
     }
}

我建议从教程开始,但如果您感兴趣,可以在Java语言规范的14.14 The for Statement部分找到完整且更正式的详细信息。