必须使用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.
*/
答案 0 :(得分:5)
你可以比较for
和while
语句,观察你在迭代结构中主要需要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部分找到完整且更正式的详细信息。