20175221 《Java程序设计》

迭代和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 把代码推送到码云
  • 完成截图20175221 《Java程序设计》迭代和JDB(课下作业,选做):-LMLPHP

  • 代码如下:

  • import java.util.Scanner;
    
    class diedai{
    int diedaisuanfa (int n,int m){
    if (n==0||n<m)
    return -1;
    else if(m==0||n==m)
    return 1;
    else if(m==1)
    return n;
    else
    return diedaisuanfa(n-1,m-1)+diedaisuanfa(n-1,m);
    }
    }
    public class shiyanxuanzuo {
    public static void main(String[] args) {
    diedai sum=new diedai();
    System.out.println("Input m,n:");
    Scanner receive= new Scanner(System.in);
    int x=receive.nextInt();
    int y=receive.nextInt();
    System.out.println("C("+x+","+y+")="+sum.diedaisuanfa(x,y)); }
    }
  • 正常情况

  • 20175221 《Java程序设计》迭代和JDB(课下作业,选做):-LMLPHP
  • 异常情况

  • 20175221 《Java程序设计》迭代和JDB(课下作业,选做):-LMLPHP
  • 20175221 《Java程序设计》迭代和JDB(课下作业,选做):-LMLPHP
  • 边界情况

  • 20175221 《Java程序设计》迭代和JDB(课下作业,选做):-LMLPHP
  • 20175221 《Java程序设计》迭代和JDB(课下作业,选做):-LMLPHP
  • JDB调试

  • 20175221 《Java程序设计》迭代和JDB(课下作业,选做):-LMLPHP
  • 代码调试中的问题和解决方案

  • 问题1:
  • 在一开始编写异常情况的时候,我使用了System.out.println语句,结果报错说无返回语句
  • 20175221 《Java程序设计》迭代和JDB(课下作业,选做):-LMLPHP
  • 问题1解决方案:
  • 百度了一下知道,编写方法是要求有返回值的,使用System.out.println只是输出,不符要求。所以都需要使用return
  • 问题2:
  • 运行程序时报错,数据类型不兼容,如图
  • 20175221 《Java程序设计》迭代和JDB(课下作业,选做):-LMLPHP
  • 问题2解决方案:
  • 根据报错提示的行数寻找,发现应该是“==”,而不是“=”,改正即可
  • 代码托管(https://gitee.com/zxjacdl/zxj175221/tree/master/jdbtiaos)

05-04 08:58