我的程序应该提示用户输入与参加了多少次考试相关的考试分数。然而,这工作得很好,当用户输入负的考试分数时,应该让他们再次重新进入所有三项考试。我的程序会保存任何非负面的考试,因此当您重新输入三项考试时,它仅使用完成三项考试所需的数量或正在寻找的数量。可能有一些非常简单的东西我错过了,因为我对此很陌生。我认为下面的代码足以提供答案,但是,如果问题比我预期的更大,我还有更多代码。
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
最佳答案
我不明白为什么你需要 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
关于java - 我不明白如何重置这个循环/扫描仪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26304064/