我正在构建一个控制台应用程序,在该应用程序中,我试图迫使用户输入int
作为对问题的可能答案,否则该用户将重复相同的问题。因此,如果不输入正确的数据类型。
下面是我的示例代码。
Scanner scanner = new Scanner(System.in);
int userInput = 0;
do {
AskQuestion();
if(scanner.hasNextInt()) {
userInput = scanner.nextInt();
}
}
while(!scanner.hasNextInt()) ;
虽然我知道这可以在C#中完成,但我不确定如何在Java中做到这一点而不会陷入无限循环。如何获得我的代码以执行我想做的事情?请帮助!
您可以使用类似这样的内容。这是一个非常简单的标志,并结合了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();
}
}
}