如何确保用户最终输入整数?

时间:2017-10-22 15:15:56

标签: java

我在Java中创建需要整数输入的函数我的代码是:

System.out.println("Input the year");
Scanner scan = new Scanner(System.in)
this.error = true
while (this.error = true) {
    try {
        this.year = scan.nextInt;
        this.error = false;
    }
    catch(Exception e) {
        System.out.println("Try again");
        this.year = -1;
    }
}

但是当我执行它时,如果用户输入的内容不是整数,它只是一遍又一遍地打印错误消息,而不让用户输入其他内容。很抱歉,如果这是非常明显的(我对编程很新),但你知道为什么会发生这种情况或者我该如何修复它?

感谢

1 个答案:

答案 0 :(得分:3)

您可以使用hasNextInt()方法

if(scan.hasNextInt()){
   //your code
}

查看hasNextInt()方法的详细说明