我对 Java 很陌生,作为我大学课程的一部分,我必须编写一个执行一些基本功能的程序。该程序的一部分是它需要计算用户输入的数字的阶乘。如果用户输入一个负数,那么它必须提示输入一个正数。我必须这样做。
但是如果用户输入一个分数,例如 2.2,那么程序应该向用户显示一个错误并提示输入有效数据。我相信应该实施某种排序或尝试捕获,但到目前为止,在花了很多时间之后,我还没有成功地让它工作。任何想法如何让程序捕获 InputMismatchException 错误并再次提示用户输入?
该程序的相关代码块如下...
public static void factorialNumber() {
int factorial = 1;
boolean valid;
int number = 0;
do {
System.out.println("Please enter a number: ");
number = sc.nextInt();
valid = number > 0;
if (!valid) {
System.out.println("ERROR Please enter a positive number");
}
} while (!valid);
if (number < 0) {
System.out.println("***Error***: Please enter a positive number ... ");
factorialNumber();
}
if (number > 0) {
System.out.print("The factorial is: " + number + " ");
}
for (int i = 1; i <= number; i++) {
factorial *= i;
if ((number - i) > 0) {
System.out.print("x " + (number - i) + " ");
}
}
System.out.println("= " + factorial);
}
跃然一笑
相关分类