Вы можете рассчитать факториал используя:
петли:
public long fact(int factNum) {
long fact = 1;
for (int iteration = 2; iteration <= factNum; iteration++) {
fact = fact * iteration;
}
return fact;
}
потоки:
public long fact(int factNum) {
return LongStream.rangeClosed(1, factNum)
.reduce(1, (long fact, long iteration) -> fact * iteration);
}
рекурсия:
public long fact(int factNum) {
if (factNum <= 2) {
return factNum;
}
return factNum * fact(factNum - 1);
}