迭代和JDB调试
题目要求
1 使用C(n,m)=C(n-1,m-1)+C(n-1,m)公式进行递归编程实现求组合数C(m,n)的功能
2 m,n 要通过命令行传入
3 提交测试运行截图(至少三张:正常如c(3,2)、异常如c(2, 3)、边界情况如c(m,m))
4 提交正常情况下用JDB调试程序c(X,2)的截图,X为学号最后一位+3
5 把代码推送到码云
代码
import java.util.Scanner; public class DIEDAI { public static int diedai (int m,int n) { if(m==1) return n; else if(m==0||m==n) return 1; else if(n<m||n==0) return 0; else return diedai(n-1,m-1)+diedai(n-1,m); } public static void main(String[] args) { int [] a = new int [2]; int sum,i; for(i=0;i<=args.length;i++) { Scanner sc = new Scanner(System.in); int b = sc.nextInt(); a[i] = b; } sum = diedai(a[0],a[1]); if(sum == 0) System.out.println("请重新输入"); else System.out.println(sum); } }
代码运行结果
- 正常
- 异常
边界
JDB调试过程
作业收获
本次的收获在于JDB调试方面,以前很少使用JDB的调试,所以基本操作并不熟悉,这次在外力的压迫下,对于JDB的使用方法有了比较全面的了解,比如查看对象用dump,给对象赋新值用"set 对象 = 值"等等。