验证命令行参数用户输入



我已经有几年没有使用Java了,我不太确定验证命令行输入的最佳实践是什么。

我的代码当前结构如下:

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

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

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

简单地使用布尔值是首选方法吗?

编辑:

更具体地说,验证来自 stdin(扫描程序)的用户输入。

某种程度

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

虽然你所拥有的是可以接受的,但如果他们输入的内容与你的验证不匹配,我更喜欢至少输出一条消息。

更像这样的东西:

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:");
    }
}

最新更新