• 迭代和JDB(课下作业,选做)


    迭代和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 把代码推送到码云

    代码

    public class Combination {
        public static void main(String[] args) {
            int [] s = new int [2];
            int sum,i;
            for(i=0;i<args.length;++i) {
                s[i] = Integer.parseInt(args[i]);
            }
            sum = diedai(s[0],s[1]);
            if(sum == 0)
                System.out.println("wrong");
            else
                System.out.println(sum);
        }
        public static  int diedai (int n,int m) {
            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);
        }
    }
    

    代码托管

    测试截图

    • 运行正常

    • 运行异常

    • 边界情况

    JDB调试截图

    • 设置断点至代码第八行,观察命令行字符串转化情况

    • 运用list语句观察目前运行到的位置,注意use ./src 进入.java文件所在文件夹

    • step up语句运用

    • 设置断点至最后C(9,2)结果为36

    问题

    • 使用命令行输入变量
      • 命令行输入的参数为字符串,所以我们可以通过Integer.parseInt来进行转化
        参考博客
  • 相关阅读:
    选择排序——Java实现
    冒泡排序——Python实现
    基数排序——Java实现
    Sqoop迁移Hadoop与RDBMS间的数据
    Hive Join
    Hadoop 完全分布式部署(三节点)
    springboot自定义异常处理
    linux下安装redis
    windows 下tomcat重启脚本
    解决rabbin首次请求慢的问题
  • 原文地址:https://www.cnblogs.com/20175226wpy/p/10631040.html
Copyright © 2020-2023  润新知