如果用户输入的整数不符合我的条件,我该如何结束控制台?

How do I end the console if the user inputs an integer than doesn't comply with my condition?

我目前正在创建一个简单的成绩计算器,但是我希望控制台在用户未输入 0 到 20 之间的数字时不继续下一行。即使用户输入了错误的数字下一行被执行。也可以随意提出使我的程序更简单的方法。

import java.util.Scanner;

public class Calculator {
 public static void main(String[] args) {
  Scanner scanner = new Scanner(System.in);

  System.out.println("Enter grade for Exam 1:>");
  int exam1 = scanner.nextShort();
  while (exam1 > 20 || exam1 < 0) {
   System.out.println("Error! Not within mark range!");
   break;
  }

  System.out.println("Enter grade for Exam 2:>");
  int exam2 = scanner.nextShort();
  while (exam2 > 20 || exam2 < 0) {
   System.out.println("Error! Not within mark range!");
   break;
  }

  System.out.println("Enter grade for Exam 3:>");
  int exam3 = scanner.nextShort();
  while (exam3 > 20 || exam3 < 0) {
   System.out.println("Error! Not within mark range!");
   break;
  }

  System.out.println("Enter grade for Exam 4:>");
  int exam4 = scanner.nextShort();
  while (exam4 > 20 || exam4 < 0) {
   System.out.println("Error! Not within mark range!");
   break;
  }

  int average = exam1 + exam2 + exam3 + exam4;
  average /= 4;
  System.out.println("You average grade is: " + average + "\n");

  average *= 5;

  System.out.println("Your score is" + average + "%!\n");

  if (average > 70) {
   System.out.println("You get an A overall");
  } else if (average > 60 || average <= 70) {
   System.out.println("You get a B overall");
  } else if (average > 40 || average <= 60) {
   System.out.println("You get a C overall");
  } else {
   System.out.println("You have failed the module!");
  }


 }
}
System.exit(0);

这可能是您要查找的内容,而不是 break 语句。

将代码中的 break 语句替换为 System.exit(0)