如何向用户重复问题,直到循环条件为假?

问题描述 投票:0回答:2

我正在构建一个控制台应用程序,在该应用程序中,我试图迫使用户输入int作为对问题的可能答案,否则该用户将重复相同的问题。因此,如果不输入正确的数据类型。

下面是我的示例代码。

Scanner scanner = new Scanner(System.in);
int userInput = 0;
do {
       AskQuestion();
       if(scanner.hasNextInt()) {
          userInput = scanner.nextInt();
    }
}
while(!scanner.hasNextInt()) ;

虽然我知道这可以在C#中完成,但我不确定如何在Java中做到这一点而不会陷入无限循环。如何获得我的代码以执行我想做的事情?请帮助!

java do-while
2个回答
0
投票

您可以使用类似这样的内容。这是一个非常简单的标志,并结合了Scanner类的使用。

    boolean flag = false;
    int val = 0;
    while(!flag){
        System.out.println("Something");
        if(sc.hasNext()){
            if(sc.hasNextInt()){
                val = sc.nextInt();
                flag = true;
            }
            else{
                sc.next();
            }
        }
    }
© www.soinside.com 2019 - 2024. All rights reserved.