学号20182323 2019-2020-1 《数据结构与面向对象程序设计》实验二报告
课程:《程序设计与数据结构》
班级: 1823
姓名: 曹骞
学号: 20182323
实验教师:王志强
实验日期:2019年9月16日
必修/选修: 必修
1.实验内容
(1) 编写简单的计算器,完成加减乘除模运算。
(2) 要求从键盘输入两个数,使用判定语句选择一种操作,计算结果后输出,然后使用判定和循环语句选择继续计算还是退出。
(3) 编写测试代码,测试验证。(https://www.cnblogs.com/rocedu/p/4472842.html)
2. 实验过程及结果
在会编写简单的计算器之后,利用Scanner类、判定和循环语句写了一个程序满足实验内容(1)、(2)。然后编写测试代码时,需要写两个java文件,一个相当于主函数,一个相当于子函数,于是我将原来写的代码修改成了主函数,并重新创建了一个Java文件写其子函数,在主函数中调用子函数,通过比较实际值和计算值的大小来测试程序结果是否正确。
3. 实验过程中遇到的问题和解决过程
- 问题1:编译时弹出error: variable c might not have been initialized return c;}
- 问题1解决方案:初始化c的时候,没有给c赋初始值。(如果该函数在运行中出错,那么就没有输出值,也就不会有合法的return值,那么测试代码也无法正常运行。)
- 问题2:类似于c语言中的吃回车问题
- 问题2解决方案:当要输入字符或字符串时,如果前面不是字符或字符串类型的输入,那么就会出现吃回车问题,此时就多打一个op=scan.nextLine();将回车吃掉。
其他(感悟、思考等)
- 如今java学习越来越感觉到自主学习是占绝大部分了,做实验根据博客上内容一点一点去模仿、学习,终于能够写一些老师要求的代码。
- 发现java编译时出现的错误有些大都见过,慢慢能够自己解决一些编译出现的问题。
- 感谢学长,学姐还有王志强老师的悉心辅导。