20155236 《Java程序设计》实验一(Java开发环境的熟悉)实验报告
20155236 《Java程序设计》实验一(Java开发环境的熟悉)实验报告
一、实验内容及步骤
(一)使用JDK编译、运行简单的java程序
- 命令行下的程序开发
- 因为我用的是windows系统,所以打开cmd输入
cd Code命令打开Code目录中,再输入mkdir 20155236fcg创建实验目录,cd 20155236fcg进入后再mkdir exp1创建实验一目录,cd exp1进入实验一目录。
![]()
- 编辑java程序 → 在命令行下编译、运行。
![]()
- 因为我用的是windows系统,所以打开cmd输入
(二)使用IDEA编辑、编译、运行、调试Java程序
- 新建一个project「HelloJDB」,录入代码。 ![ima
- 在需要设置断点的一行左侧单击鼠标,出现红色圆点。(我在第六行设置)
![]()
- 在菜单栏找到
Run选项,展开后选择Debug,选择本项目运行。
效果如下:
![]()
- 根据5个图标的不同功能进行选择:
① Step Over(F8):程序向下执行一行(如果当前行有方法调用,这个方法将被执行完毕返回,然后到下一行)
② Step Into(F7):程序向下执行一行。如果该行有自定义方法,则运行进入自定义方法(不会进入官方类库的方法)
③ Force Step Into:进入任何方法
④ Step Out(Shift+F8):如果在调试的时候进入了一个方法,并觉得该方法没有问题,就可以使用stepout跳出该方法,返回到该方法被调用处的下一行语句。值得注意的是,该方法已执行完毕。
⑤ Run to Cursor:将程序运行到光标处。
参照于:狄维佳同学的博客。
二、练习:实现四则运算,并进行测试。
要求:通过命令行和IDEA两种方式实现,在IDEA下练习调试程序。
-
程序设计思路:
四则运算:加、减、乘、除四种运算,一开始的输入我调用了
Scanner实例,不同运算用switch与case语句来实现,先让用户输入两个数,然后选择一种运算方式,然后得出结果。并利用循环加上一个break的模式,让用户可以自主选择退出或继续。
即将这两个数都定义为双精度浮点double型数据,分别为a和b。接着就是选择运算方式,用switch与case语法来实现,然后进入case,直接System.out.println()出相应结果。 -
调试代码:
- 可能因为我设计的比较简单,代码在编译中是没有错误的,但是我发现我没有考虑到除数“0”的情况,于是在判断时,加上对
b是否为0的判断。 - 而且对于数据出错是没有考虑到的,于是我又加上了
try和```catch``的语法,保证发生错误时,程序可以跳离出错点,给用户以提示。 - 同时,让用户可以直接输入运算符,而不是在我所
print的提示下输入数字,所以改用了String s = scanner.next();char z = s.charAt(0);。
- 可能因为我设计的比较简单,代码在编译中是没有错误的,但是我发现我没有考虑到除数“0”的情况,于是在判断时,加上对
-
程序代码
已链接到码云。 -
实验中遇到的问题
在cmd中编译时,在使用
javac Size.java后,出现了很多的中文乱码。
![]()
解决:
了解到windows下默认的编码方式与idea设置的不同,那么我们将编码方式转为UTF-8即可成功运行。
![]()
-
命令行实现
-
加法
![]()
-
减法
![]()
-
乘法
![]()
-
除法
![]()
-
运算符输错
![]()
-
数字输错
![]()
-
-
实验体会
虽然对于刚写的程序作了改进,但是觉得自己还有很多地方没有实现,自己把四则运算想的太简单了,我只给出了两个数 的运算,但要是3个数,4个数呢,又或者带()时候,我是没有想到的。以前光是跟着书上敲代码,跟思路,结果一遇到自己要写的练习,没有代码,没有思路,得从头开始,一开始觉得很难实现,但如果分析得当,把自己的思路捋顺了,再慢慢往上填代码,我觉得还是可行的,可惜水平太差,只能写一些极其简单的东西,有点自豪更多的是失落。
我认为现阶段我们对于异常处理,异常抛出的理解是不够的,但这却是是一种有效的手段帮助我们更好地完善程序。
同时,如果程序发生了错误但是检查不出来时也别着急,我们可以用debug进行单步挑试
总结
| 步骤 | 耗时 | 百分比 |
|---|---|---|
| 需求分析 | 30 min | 15.38% |
| 设计 | 1 h | 30.77% |
| 代码实现 | 1 h | 30.77% |
| 测试 | 15min | 7.69% |
| 分析总结 | 30min | 15.38% |













浙公网安备 33010602011771号