java - 我不明白如何重置这个循环/扫描仪

标签 java loops java.util.scanner

我的程序应该提示用户输入与参加了多少次考试相关的考试分数。然而,这工作得很好,当用户输入负的考试分数时,应该让他们再次重新进入所有三项考试。我的程序会保存任何非负面的考试,因此当您重新输入三项考试时,它仅使用完成三项考试所需的数量或正在寻找的数量。可能有一些非常简单的东西我错过了,因为我对此很陌生。我认为下面的代码足以提供答案,但是,如果问题比我预期的更大,我还有更多代码。

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/

相关文章:

java - 生成带坐标系的六边形网格的算法

Java延迟/等待

java - 有用于桌面的java facebook graph api吗?

发送带有附件的电子邮件时出现 java.lang.LinkageError

循环内的 JavaScript 闭包 – 简单的实际示例

java - 将字符串从控制台输入传递到 TCP 套接字

java - 使用扫描仪接受字符串输入并存储在字符串数组中

java - 扫描仪在使用 next() 或 nextFoo() 后跳过 nextLine()?

java - AtomicInteger 似乎不适合我

java - android变量空指针