题目
本题要求编写程序,根据公式
算出从n个不同元素中取出m个元素(m≤n)的组合数。
输入格式:
输入在一行中给出两个正整数m和n,以空格分隔。
如果输入数据负数,能输出提示不能负数
如果输入数据出发非法数据,能输出提示请输入数值 (数值异常处理)
输出格式:
按照格式result = 组合数计算结果输出。
输入样例:
2 7
输出样例:
result=21.00
代码
import java.util.Scanner;
import java.util.Random;
import java.util.InputMismatchException;
public class Main{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
try{
int m=in.nextInt();
int n=in.nextInt();
if (m<0||n<0) System.out.printf("不能负数");
else {double o=cal(m,n);
System.out.printf("result=%.2f",o);}}
catch (InputMismatchException e){
System.out.println("请输入数值");
}
}
public static double cal(int m, int n){
return factor(n)*1.0/(factor(m)*factor(n-m));
}
public static int factor(int m){
int u=1;
for(int i=2;i<=m;i++) u*=i;
return u;
}
}
笔记
- try catch 的异常处理写法