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% |