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

截图

相关知识点总结

JDB

  • vim 编译

  • 进入第二个标签

    使用javac -g -d bin src/exam1.java对程序进行编译。

  • Alt+3 进入第三个标签

    使用jdb -classpath .:./bin exam1 11 2对程序进行调试。

  • stop in exam1.main

  • run

  • 此时可以用locals命令查看变量,用step命令运行下一行代码

  • 使用list来查看运行到了源代码的什么位置

    exam1.class文件和exam1.java不在同一个文件夹下,我们需要使用use先指出源代码的位置use ./src

  • exit退出

  • 单步跟踪命令next和step在执行一般语句时没有区别,在执行有方法调用的语句时,next会把方法执行完,step
    会进入方法体。所以在调试时,单步执行我们要优先使用next,这样效率比较高。

问题分析

当看到我当时并未按照老师要求完成的时候,我也有点懵,今早又按老师的要求重新做了一遍,因为有一段时间没有练习JDB,运行过程中出现了问题,当我输入locals时显示“本地变量信息不可用,请使用-g编译以生成变量信息”,后发现是我在使用JDB调试时,未将路径返回至exam2文件下,而是直接在src中进行的,改正后程序即可正确运行。出现的问题如下图,正确解决过程已放至截图中.

这次重新练习也帮我回忆了一遍JDB测试,同时也算一个提醒告诉我下次测试时要看清老师的每项要求。

posted @ 2018-04-24 08:55  KY-high  阅读(185)  评论(0编辑  收藏  举报