java计算m选n的组合C(n,m).计算公式是:m!/n!(m-n)其中n!=123*...n,m!=123...*m要求能捕获输人的数字格式异常(NumberFormatException),输入数据不是正整数时则报“输入数据格式不对,请重新输入”。
1条回答 默认 最新
- 社区专家-Monster-XH 2023-04-21 13:21关注
基于Monster 组和GPT的调写:
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; } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥50 用易语言http 访问不了网页
- ¥50 safari浏览器fetch提交数据后数据丢失问题
- ¥15 matlab不知道怎么改,求解答!!
- ¥15 永磁直线电机的电流环pi调不出来
- ¥15 用stata实现聚类的代码
- ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
- ¥20 docker里部署springboot项目,访问不到扬声器
- ¥15 netty整合springboot之后自动重连失效
- ¥15 悬赏!微信开发者工具报错,求帮改
- ¥20 wireshark抓不到vlan