在 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); 


    }
}