20165233 实验一 Java开发环境的熟悉

20165233 实验一 Java开发环境的熟悉

实验要求

1.没有Linux基础的同窗建议先学习《Linux基础入门(新版)》《Vim编辑器》 课程;java

2.完成实验、撰写实验报告,实验报告模板见QQ群,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等)、解决办法(空洞的方法如“查网络”、“问同窗”、“看书”等一概得0分)以及分析(从中能够获得什么启示,有什么收获,教训等);vim

3.实验报告中统计本身的PSP(Personal Software Process)时间:网络

步骤 耗时 百分比
需求分析 5min 8.3%
设计 15min 25%
代码实现 30min 50%
测试 5min 8.3%
分析总结 5min 8.3%

4.严禁抄袭。编辑器

实验内容:

1.使用JDK编译、运行简单的Java程序;
2.使用IDEA 编辑、编译、运行、调试Java程序。ide

实验步骤

实验一 Java开发环境的熟悉-1

  • 创建有本身学号的实验目录。
  • 经过vim Hello.java编辑代码。
  • 编译、运行Hello.java代码。

实验一 Java开发环境的熟悉-2

  • 新建HelloJDB类
  • 单步调试、设置断点

① Step Over:程序向下执行一行(若是当前行有方法调用,这个方法将被执行完毕返回,而后到下一行)工具

② Step Into:程序向下执行一行。若是该行有自定义方法,则运行进入自定义方法(不会进入官方类库的方法)学习

③ Force Step Into:进入任何方法测试

④ Step Out:若是在调试的时候进入了一个方法,并以为该方法没有问题,就可使用stepout跳出该方法,返回到该方法被调用处的下一行语句。值得注意的是,该方法已执行完毕。idea

⑤ Run to Cursor:将程序运行到光标处。命令行

  • 设置条件断点

实验一 Java开发环境的熟悉-3

练习题目:实现求两个数的最大公约数和最小公倍数的功能,数从命令行输入,并进行测试(正常状况,异常状况,边界状况)。

经过命令行实现

  • 正常状况

  • 边界状况

下边界

上边界

  • 异常状况

经过IDEA实现

  • 正常状况

  • 边界状况

  • 异常状况

  • 断点调试

实验中遇到的问题

  • 我在经过命令行运行与IDEA运行获得不同“异常状况”运行的结果。例如:我输入-61与-8,因为我在程序里设计了“若是输入值小于0就将最大公因子与最小公倍数的值返回-1”,因此在IDEA中,就会获得(-61,-8)=-1,[-61,-8]=-1的结果;而在终端里就会返回以下图的结果:

  • 解决办法:在程序运行后出现Exception in thread "main" java.lang.StackOverflowError的报错,是java栈的内存溢出的结果。此内存溢出说明,java栈的设置过小,咱们能够借助-Xss这个参数模拟一下此异常,-Xss是用来设置栈的大小。

  • 分析:这是第一次遇到此类问题,但利用-Xss是来设置栈的大小,是要依据电脑来进行修改,有可能会更改出更大的bug,因此尽可能利用IDEA来进行运行,对于程序的包容性也要更加注意,思考编写出更加全面的程序。

相关文章
相关标签/搜索