在 Java 阶乘中输入负数时如何创建错误消息
How to create error message when negative number is entered in Java factorial
我需要修改这段代码,以便在输入负数时显示错误消息。我知道,否则声明必须适合我才能弄清楚在哪里。
public static void numberFactorial() {
System.out.println("Option 2 selected, enter a number: ");
int number = sc.nextInt();
// here you can check for negative number
if(number >= 0){
System.out.println("The factorial is: " + number + " ");
for (int i = 1; i <= number; i++)
{
factorial *= i;
if ((number - 1) > 0)
{
System.out.print("x" + (number - i) + " ");
}
System.out.println("=" + factorial);
}
}else{
System.out.println("Negative number is not allowed, entered number is: " + number + " ");
}
}
我猜你需要做的就是检查不正确的输入以抛出异常。
public static void numberFactorial() {
System.out.println("Option 2 selected, enter a number: ");
int number = sc.nextInt();
if(number < 0){
throw new IllegalArgumentException()
}
// ... rest of the code
}
这不是最好的方法,但是
public static void numberFactorial() {
System.out.println("Option 2 selected, enter a number: ");
boolean isNegative =true;
int number;
while (isNegative) {
number = sc.nextInt();
if(number < 0 ){
System.out.println("Negative Number Detected, please enter your number again");
}else {
break;
}
System.out.println("The factorial is: " + number + " ");
for (int i = 1; i <= number; i++)
{
factorial *= i;
if ((number - 1) > 0)
{
System.out.print("x" + (number - i) + " ");
}
System.out.println("=" + factorial);
}
}
我需要修改这段代码,以便在输入负数时显示错误消息。我知道,否则声明必须适合我才能弄清楚在哪里。
public static void numberFactorial() {
System.out.println("Option 2 selected, enter a number: ");
int number = sc.nextInt();
// here you can check for negative number
if(number >= 0){
System.out.println("The factorial is: " + number + " ");
for (int i = 1; i <= number; i++)
{
factorial *= i;
if ((number - 1) > 0)
{
System.out.print("x" + (number - i) + " ");
}
System.out.println("=" + factorial);
}
}else{
System.out.println("Negative number is not allowed, entered number is: " + number + " ");
}
}
我猜你需要做的就是检查不正确的输入以抛出异常。
public static void numberFactorial() {
System.out.println("Option 2 selected, enter a number: ");
int number = sc.nextInt();
if(number < 0){
throw new IllegalArgumentException()
}
// ... rest of the code
}
这不是最好的方法,但是
public static void numberFactorial() {
System.out.println("Option 2 selected, enter a number: ");
boolean isNegative =true;
int number;
while (isNegative) {
number = sc.nextInt();
if(number < 0 ){
System.out.println("Negative Number Detected, please enter your number again");
}else {
break;
}
System.out.println("The factorial is: " + number + " ");
for (int i = 1; i <= number; i++)
{
factorial *= i;
if ((number - 1) > 0)
{
System.out.print("x" + (number - i) + " ");
}
System.out.println("=" + factorial);
}
}