java计算m选n的组合C(n,m).计算公式是:m!/n!(m-n)其中n!=123*...n,m!=123...*m要求能捕获输人的数字格式异常(NumberFormatException),输入数据不是正整数时则报“输入数据格式不对,请重新输入”。
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
try {
System.out.print("请输入m的值:");
int m = Integer.parseInt(scanner.next());
System.out.print("请输入n的值:");
int n = Integer.parseInt(scanner.next());
if (m <= 0 || n <= 0 || m < n) {
System.out.println("输入数据不符合要求,请重新输入");
return;
}
int result = factorial(m) / (factorial(n) * factorial(m - n));
System.out.println("C(n,m) = " + result);
} catch (NumberFormatException e) {
System.out.println("输入数据格式不对,请重新输入");
}
}
private static int factorial(int n) {
int result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
}