验证命令行参数用户输入

时间:2015-01-27 19:09:00

标签: java validation input

我使用Java已经有好几年了,而且我不太确定验证命令行输入的最佳做法是什么。

我的代码目前的结构如下:

while (true) {
    try { ... break; } catch(...) {...}
}

我觉得这是不好的做法,因为它类似于在某种程度上使用goto语句。

有更好的方法来验证用户输入吗?

只是使用布尔值作为首选方法?

编辑:

更具体地说,验证stdin(扫描仪)的用户输入。

达到以下程度:

while(true){
    try {
        userInput = Integer.parseInt(stdin.next());
        break;
    } catch (InputMismatchException e) {
        ...
    }
}

1 个答案:

答案 0 :(得分:1)

虽然您所拥有的内容是可以接受的,但如果他们输入的内容与您的验证不符,我更愿意至少输出一条消息。

更像这样:

int userInput;
System.out.println("Please enter an integer:");
while(true){
    try {
        userInput = Integer.parseInt(stdin.next());
        break;
    } catch (InputMismatchException e) {
        System.out.println("Please enter a valid integer:");
    }
}