验证命令行参数用户输入

Validating Command Line Arguments User Input

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

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

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

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

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

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

编辑:

更具体地说,验证来自标准输入(扫描仪)的用户输入。

某种程度上:

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