public class Test {
public static void main(String args[]) {
int n;
do {
Scanner scan = new Scanner(System.in);
System.out.print("Введите факториал натурально числа n : ");
n = scan.nextInt();
int result = 1;
for (int i = 2; i <= n; i++)
result *= i;
System.out.println(result);
if (n == 0 || n == 1)
System.out.println(result);
if(n < 0)
System.out.println("Вы ввели отрицательный факториал!");
} while (n < 0);{System.out.println("Конец");}
}
}
Вычисление факториала
программу, вычисляющая факториал
натурального числа n, которое пользователь введёт с клавиатуры.
Как еще можно убрать 1, если например я делаю ввод отрицательного числа там мне выдает "Вы ввели отрицательный факториал!", а над ним выдает 1?
Код:
if поставить выше и сделать ветвь с else
int n;
do {
Scanner scan = new Scanner(System.in);
System.out.print("Введите факториал натурально числа n : ");
n = scan.nextInt();
if (n < 0) {
System.out.println("Вы ввели отрицательный факториал!");
} else {
int result = 1;
for (int i = 2; i <= n; i++)
result *= i;
System.out.println(result);
}
} while (n < 0);
System.out.println("Конец");
}[/CODE]