使用Java函数计算给定数字的阶乘。
发布时间:2023-06-30 15:52:25
阶乘是指一个自然数n及其之前所有自然数的乘积,通常用n!表示,例如5! = 5 × 4 × 3 × 2 × 1 = 120。
在Java中,可以使用递归和循环两种方式来计算给定数字的阶乘。
1. 使用递归方式计算阶乘:
public class Factorial {
public static long factorial(int number) {
if (number < 0) {
throw new IllegalArgumentException("Number must be non-negative.");
}
if (number == 0 || number == 1) {
return 1;
}
return number * factorial(number - 1);
}
public static void main(String[] args) {
int number = 5;
long result = factorial(number);
System.out.println("Factorial of " + number + " is: " + result);
}
}
2. 使用循环方式计算阶乘:
public class Factorial {
public static long factorial(int number) {
if (number < 0) {
throw new IllegalArgumentException("Number must be non-negative.");
}
long result = 1;
for (int i = 2; i <= number; i++) {
result *= i;
}
return result;
}
public static void main(String[] args) {
int number = 5;
long result = factorial(number);
System.out.println("Factorial of " + number + " is: " + result);
}
}
无论使用递归还是循环方式,都需要注意数字必须是非负数。否则,要么抛出IllegalArgumentException,要么返回特定的错误码或值,具体取决于实际需求。
