如何显示错误消息

时间:2013-12-09 15:46:24

标签: java

有人可以告诉我如何将错误信息输入以下代码吗?如果用户输入的数字不在0到12之间,我该如何输出“无效条目”。

此刻该程序运行正常,如果输入了无效字符,则允许用户再次尝试。

int hours;
do {                
    System.out.print("Enter hours: ");
    hours = myscanner.nextInt();
} while (hours < 0 || hours > 12);

3 个答案:

答案 0 :(得分:2)

我会使用“无限”while循环,并在小时数有效时突破它。 while(true) { ... }是惯用的Java。

Scanner scanner = new Scanner(System.in);
int hours;
while (true) {                
    System.out.print("Enter hours: ");
    hours = scanner.nextInt();
    if (hours >= 0 && hours <= 12) {
        break;
    }
    System.err.println("Invalid entry (should be 0-12)");
}

答案 1 :(得分:0)

int hours;
boolean valid;
do {                
    System.out.print("Enter hours: ");
    hours = myscanner.nextInt();
    valid = (hours >= 0 && hours <= 12);
    if (!valid)
        System.out.println("Invalid entry");
} while (!valid);

注意:我添加了一个变量,因为否则,你会有重复的条件 注2:我也恢复了这个条件,因为我不喜欢布道是指负面条件(我更喜欢有效而无效)

答案 2 :(得分:-1)

int hours;
do {                
    System.out.print("Enter hours: ");
    hours = myscanner.nextInt();
    if (hours < 0 || hours > 12) System.out.println("Please insert a valid entry");
} while (hours < 0 || hours > 12);