【发布时间】:2021-08-10 06:43:12
【问题描述】:
我想打印一个数字的乘法表。所以我做了一个 while(true) 块来不断地接受用户的输入。我还做了一个 try and catch 块,以便处理异常。
下面是我的代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Getting the multiplication table of any number");
while (true) {
try {
System.out.println();
System.out.print("Enter a number: ");
long number = scanner.nextLong();
for (byte num = 1; num < 11; num++) {
System.out.println(number + "X" + num + " = " + (number * num));
}
System.out.println();
System.out.println();
} catch (Exception e) {
System.out.println("Please enter a valid input.");
}
}
}
}
当我运行程序时,它运行良好,直到我只引入一个错误。然后它只是给出输出:
输入一个数字:请输入一个有效的输入。
两个语句都在同一行,并且只是连续打印该行,没有任何延迟或不让我输入。
为什么会发生这种情况,我该如何纠正?
【问题讨论】:
标签: java error-handling while-loop