我的程序假设提示用户输入与考试的考试数相关的考试成绩。然而,这工作正常,当用户输入负面考试分数时,它应该让他们再次重新进入所有三个考试。我的程序会保存任何非负面的考试,因此当您重新进入三门考试时,它只会使用完成三项考试所需的数量或者需要多少考试。可能有一些我很容易丢失的东西,因为我对此很陌生。我认为下面的代码足以得到一个答案,但是如果它是一个比我预期的更大的问题我会有更多的代码。
System.out.print("Enter exam scores :");
for(int y = 1; y <= numberofexams; y++) {
examgrades = NumScanner.nextDouble();
while(examgrades < 0) {
NumScanner.nextLine();
System.out.print("Invalid exam scores, reenter scores: ");
examgrades = NumScanner.nextDouble();
}
System.out.println();
if(y > numberofexams) break;
sum += examgrades; //exam average
sum2 += examgrades; //class average
} // number of exams
答案 0 :(得分:1)
我不明白为什么你需要while
循环,为什么要扫描nextLine()
?
试试这段代码:
System.out.print("Enter exam scores :");
for(int y = 1; y <= numberofexams; y++) {
examgrades = NumScanner.nextDouble();
if(examgrades < 0) {
y = 1;
continue;
}
System.out.println();
if(y > numberofexams) break;
sum += examgrades; //exam average
sum2 += examgrades; //class average
} // number of exams