迭代和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来进行转化

      参考博客

迭代和JDB(课下作业,选做)的更多相关文章

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

    20175221 <Java程序设计> 迭代和JDB(课下作业,选做): 任务详情 1 使用C(n,m)=C(n-1,m-1)+C(n-1,m)公式进行递归编程实现求组合数C(m,n)的功 ...

  2. MyOD(课下作业,选做)

    MyOD(课下作业,选做) 代码要求 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX2.b ...

  3. 20175314薛勐 MyOD(课下作业,选做)

    MyOD(课下作业,选做) 要求 编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能 思路 伪代码: 读取命令行输入的参数(文件名) 以16为每个字 ...

  4. 20175221 MyCP(课下作业,必做)

    MyCP(课下作业,必做) 任务详情 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: - java MyCP -tx XXX1.txt XXX2 ...

  5. 20175333曹雅坤MyCP(课下作业,必做)

    MyCP(课下作业,必做) 要求 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX2.bin ...

  6. ###20175311MyCP(课下作业,必做)

    MyCP(课下作业,必做) 作业题目 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX2.b ...

  7. MyCP(课下作业,必做)

    MyCP(课下作业,必做) 要求 编写MyCP.java 实现类似Linux下cp XXX1 XXX2 的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX2.bi ...

  8. 必做课下作业MyCP

    20175227张雪莹 2018-2019-2 <Java程序设计> 必做课下作业MyCP 要求 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支 ...

  9. 20175314薛勐 MyCP(课下作业,必做)

    MyCP(课下作业,必做) 要求 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX2.bin ...

随机推荐

  1. 使用FindBugs寻找bug,代码分析

    安装就不说了,网上很多. 一些常见的错误信息 Bad practice 代码中的一些坏习惯 Class names should start with an upper case letter 主要包 ...

  2. Java 写 Log

    . 一个最基本的例子 使用Logging框架写Log基本上就三个步骤 引入loggerg类和logger工厂类 声明logger 记录日志 下面看一个例子 //1. 引入slf4j接口的Logger和 ...

  3. Netty 客户端断线重连

    client 关闭后会执行 finally 代码块,可以在这里可以进行重连操作 public class NettyClient implements Runnable { private final ...

  4. gulp 入门使用

      gulp 入门使用 使用场景 相信大家在传统的开发模式下 都是 html + css + js 然后静态文件不经过任何处理 部署到服务器,这样会有很多漏洞例如: 1.在网站上查看F12 就可以看到 ...

  5. js获取当前url

    1.window.location.href(设置或获取整个 URL 为字符串) 2.window.location.protocol(设置或获取 URL 的协议部分) 3.window.locati ...

  6. 题解:YNOI/GZOI2019 与或和

    题目大意: 1. 求所有的子矩阵的and之和2. 求所有子矩阵的or之和 由于是位运算,那么久直接拆位,于是就变成了求全0子矩阵的个数和全1子矩阵的个数那么题目就变成了简单的单调栈问题 #includ ...

  7. 洛谷P4389 付公主的背包--生成函数+多项式

    题目链接戳这里 题目描述 有\(n\)件不同的商品,每件物品都有无限个,输出总体积为\([1,m]\)的方案数 思路 直接跑背包有\(30\) 考虑把每个物品的生成函数设出来,对于一件体积为\(v\) ...

  8. Mac下查看node等的安装路径

  9. docker核心概念与配置安装

    一.Docker的三大核心概念: 镜像(image)  容器(container) 仓库(repository) 1.Docker镜像类是与虚拟机镜像,可以把它理解为一个只读的模板. 不仅仅是操作系统 ...

  10. 野路子码农系列(3)plotly可视化的简单套路

    又双叒叕要跟客户汇报了,图都准备好了吗?matplotlib出图嫌丑?那用用plotly吧,让你的图看上去经费爆炸~ P1 起因 第一次接触plotly这个库是在我们做的一个列车信号数据挖掘的项目里, ...