java - 如何让程序一直循环直到用户输入一个整数

标签 java do-while

我正在尝试修改我的程序,以便即使用户输入了字符串而不是程序崩溃,它也应该继续循环并要求用户输入需要为整数的考试成绩,只有当用户输入了整数时程序才会终止。我指的是 do-while block 中的代码

import java.util.InputMismatchException;
import java.util.Scanner;


public class CatchingException {

public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    int score;
    String choice;


    try {
    System.out.println("Enter your percentage mark: ");
    score = scan.nextInt();


    do {
        if(score <40) {
            System.out.println("You FAILED");
        }else if(score >=40 && score <50){
            System.out.println("Your grade: PASS MARK");
        }else if(score >=50 && score <60) {
            System.out.println("Your grade: 2:2");
        }else if (score >=60 && score <70) {
            System.out.println("Your grade: 2:1");
        }else {
            System.out.println("Your grade: 1:1");
        }

        System.out.println("Do you want to enter another grade: ");
        choice = scan.next();
        if(choice.equalsIgnoreCase("yes")) {
            System.out.println("Enter your percentage mark: ");
                score = scan.nextInt();
                System.err.println("Incorrect Input");
            }
    }while();

    }catch(InputMismatchException e) {
        System.err.println("Incorrect Input ");
    }

    System.out.println("program terminated");
    scan.close();

}

  }

最佳答案

使用 boolean 变量来跟踪是否继续循环。例如:

boolean loop = true;
do {
    // set loop to false when you want to end
} while(loop);

关于java - 如何让程序一直循环直到用户输入一个整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28254474/

相关文章:

java - Do-While 循环 Java 输出错误

java - 如何跳过包含字符串的 .last Modified() 文件,并选择下一个 .last Modified() 文件

c - 程序自动终止,无需等待我的响应。为什么?

java - 容易 for 循环不起作用

java - 删除数组列表中与某个值不匹配的值

java - @XmlElement - 使用 Maven 的 OpenJDK

java - 全局键盘记录器

java - Android:为什么ArrayAdapter一开始显示null?

java - java中存储和访问120,000个单词的最佳方式

c - 当我在 repl.it 中编译我的 C 程序时,它运行得很好,但 do/while 循环在代码块中不起作用