java初级题的疑问

题目:循环录入某学生的五门课成绩并计算平均分。如果某分数录入为负。停止录入并提示录入错误;
下面是代码。 标示了疑问点:

import java.util.*;
public class changji2 {
public static void main(String[] args){
double Score = 0.0;
double avg = 0.0;
double sum = 0.0;
boolean Score1 =false; //这里是判断录入分数的为假的情况
Scanner input = new Scanner(System.in);
System.out.print("输入学生姓名:");
String name = input.next();
for(int i=0; i<5;i++){
System.out.print("五门课第"+(i+1)+"门的成绩为:");
Score =input.nextDouble();
if(Score<0){
Score1 = true; //问题:Score<0 为什么要加这句呢? 写在其他地方可以吗
break;
}
sum = sum + Score;
}
if(Score1){
System.out.println("输入错误的分数,请重新输入");
}else {
avg = sum/5;
System.out.println("五门课平均分为:"+avg);
}
}

}

只是标识是否出现错误,不可以放到别的地方。除非把这个if都放到合适的地方
if(Score<0){
Score1 = true; //问题:Score<0 为什么要加这句呢? 写在其他地方可以吗
break;
}
在控制台上输入5个分数,当你在输入一个负数的时候,执行上面的语句,Score1=true;并且跳出循环执行
if(Score1){
System.out.println("输入错误的分数,请重新输入");
}else {
avg = sum/5;
System.out.println("五门课平均分为:"+avg);
}
输出错误的提示
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-04-22
写在其它地方不行的,这句是判断录入分数的为假的情况
Score1初始赋值为false,如果输入负数则变成true跳出循环,进入下一个判断,提示错误的分数!