• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
20175221曾祥杰
我不喜欢这世界 我只喜欢你
博客园    首页    新随笔    联系   管理    订阅  订阅

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

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 把代码推送到码云
  • 完成截图

  • 代码如下:

  • 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));
    
        }
    }

     

  • 正常情况

  • 异常情况

  • 边界情况

  • JDB调试

  • 代码调试中的问题和解决方案

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

posted @ 2019-03-30 15:19  20175221曾祥杰  阅读(109)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3