《数据结构与面向对象程序设计》实验二报告
20182304 2019-2020-1 《数据结构与面向对象程序设计》实验二报告
课程:《程序设计与数据结构》
班级: 1823
姓名: 张子正
学号:20182304
实验教师:王志强
实验日期:2019年9月17日
必修/选修: 必修
1.实验内容
此处填写实验的具体内容;
- (1) 编写简单的计算器,完成加减乘除模运算。
- (2) 要求从键盘输入两个数,使用判定语句选择一种操作,计算结果后输出,然后使用判定和循环语句选择继续计算还是退出。
- (3) 编写测试代码,测试验证。(https://www.cnblogs.com/rocedu/p/4472842.html)
2. 实验过程及结果
-
(1)先编写一个简单的计算器程序
-
(2) 尝试编译运行程序,修改程序不足
-
(3)编写测试代码
-
结果:
3. 实验过程中遇到的问题和解决过程
-
问题1:不了解Java编程中字符的输入,想使用输入字符串代替,却忽视了字符串比较的正确方法
-
问题1解决方案:编程时将输入加减乘除的符号替换为输入1234,避开了字符的使用。
-
实验课后,我在教材上查询了一下字符串比较的正确方法 ,即可以用
if (name1.equals(name2))
来判断两个字符串是否包含的字符完全相等 -
若想判断两个字符串之间的关系,可以用返回整型变量的
compareTo
方法,用法为name1.compareTo(name2)
-
如果调用方法的对象(name1)小于作为参数传给方法的对象(name2),则返回的值是负数,大于则为正数。具体返回值是两者对应字符ASC||码的差。
-
问题2:设计计算器时使用了switch语句,只设计了加减乘除四个case出口,忽视了default,导致程序不完善。
-
问题2解决方案:在switch语句中加入default
-
问题三:单纯模仿教程中的方法,没有理解JAVA中的类调用。加入测试代码后,无法正常编译。
-
问题三解决方案:JAVA的类调用可以参考C的函数调用。传参后,我们就不必再手动输入了,直接将形参赋予需要赋值的变量。
-
在测试代码时,要将不必要的内容删除,如
do while
循环,返回值要初始化并在’switch'语句结束后再传回返回值。
其他(感悟、思考等)
-
Java学习在很多方面可以类比C语言来学习,但又是两种完全不同的语言。我们要逐渐掌握Java语言的特点,培养面向对象编程的思维方式。
-
自己代码实践量过少,解决未知错误的能力较差,要在实践中逐步培养起自己分析问题、独立解决问题的能力。