Java - 如果输入不是整数,如何重新提示用户

时间:2016-08-08 17:32:49

标签: java

如果输入的值不是整数,我想重新提示(noofcases)用户。我是java的新手。请告诉我最好的方法,我可以提示(noofcases)用户再次输入整数值,直到用户输入一个整数值。

sizeof(int)

2 个答案:

答案 0 :(得分:3)

尝试在try {} catch(NumberformatException e)中使用Integer.parse()转换输入字符串,并在新输入请求发生异常时打印到System out。剩下的就是再次读取相同的输入流。如果您想要或计算变量中的失败以中止,您可以在while循环中执行此操作。

答案 1 :(得分:0)

这是我倾向于使用的方法:

public int getNextInt(String promptMessage) {
    Integer ret; //We use Integer so it can be null
    do {
        System.out.println(promptMessage);
        String str = in.nextLine(); //nextLine is cleaner and doesn't get caught on newline characters
        try {
            ret = Integer.parseInt(str);
        catch(NumberFormatException e) { //Invalid
            System.out.println("Input an integer."); 
        }
    } while(ret==null); //Loop while invalid
    return ret; //Return result, unboxed
}