Заменить
System.out.println("The factorial of " + n + " is " + factorial(n));
от
System.out.println("The factorial of " + n + " is " + (int) factorial(n));
ИЛИ (лучше)
Заменить
private static double factorial (int n)
от
private static int factorial(int n)
Объяснение
Поскольку ваш метод возвращает double
, вам необходимо преобразовать его в int
, в котором нет десятичных разрядов. Возможно, вы захотите взглянуть на методы класса Math
, такие как round()
, floor()
и т. Д.