迭代和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调试-LMLPHP
  • 异常

    迭代和JDB调试-LMLPHP
  • 边界

    迭代和JDB调试-LMLPHP

JDB调试过程

迭代和JDB调试-LMLPHP

迭代和JDB调试-LMLPHP

作业收获

    本次的收获在于JDB调试方面,以前很少使用JDB的调试,所以基本操作并不熟悉,这次在外力的压迫下,对于JDB的使用方法有了比较全面的了解,比如查看对象用dump,给对象赋新值用"set 对象 = 值"等等。
05-08 15:32