Как создать сообщение об ошибке при вводе отрицательного числа в факториале Java - PullRequest
0 голосов
/ 07 ноября 2018

Мне нужно изменить этот код, чтобы при вводе отрицательного числа отображалось сообщение об ошибке. Я знаю, и еще заявление должно соответствовать, я просто могу понять, где.

Ответы [ 3 ]

0 голосов
/ 07 ноября 2018

Полагаю, все, что вам нужно сделать, это проверить правильность ввода, чтобы выдать исключение.

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
}
0 голосов
/ 07 ноября 2018

это не лучший способ, но

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


    }
}
0 голосов
/ 07 ноября 2018
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 + " ");
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...