实验报告二

20182313 2019-2020-1 《数据结构与面向对象程序设计》实验二报告

课程:《程序设计与数据结构》
班级:1823
姓名:刘尧
学号:20182313
实验教师:王志强
实验日期:2019年9月16日
必修/选修:必修

1.实验内容

  • 编写简单的计算器,完成加减乘除模运算。
  • 要求从键盘输入两个数,使用判定语句选择一种操作,计算结果后输出,然后使用判定和循环语句选择继续计算还是退出。
    -编写测试代码,测试验证。(https://www.cnblogs.com/rocedu/p/4472842.html)

2.实验过程及结果

  1. 首先编写一个简单的计算器程序,按照测试代码的教程将其修改为对应的格式
  2. 按照教程编写测试代码并选取一组数据对实验2代码进行测试

  3. 将代码上传到码云

3. 实验过程中遇到的问题和解决过程

  • 问题一:Scanner类中只能输入字符串或数字,不能单独输入+-之类的单个运算字符进行运算,不然会报出不兼容的错误。
  • 问题一解决方案:借鉴C语言在学习switch语句中的思路,通过以数字代表运算符的方法解决这个问题。
  • 问题二:在实验刚开始时不能理解测试代码的含义与原理,机械的进行模仿,结果出现不能接收到测试代码中传来的数据以及不能将运行结果传回测试代码的一系列基础性问题。
  • 问题二解决方案:通过仔细研究网页上测试代码的额具体原理以及旁边同学的点醒,将它和C语言中的函数进行类比,通过对参数的定义以及在主代码中加上return来返回测试结果解决问题。
  • 问题三:在循环最后要求对继续运行和中断程序做出选择,想要通过字符串Yes/No进行选择却频频出错。
  • 问题三解决方案:参考运算符号的解决方案,通过对数字0/1的选择来达到目的。

感悟

通过这次实验,我发现尽管Java和C语言是两门完全不同的语言,但是有的时候在Java中遇到的问题,往往可以通过C语言的相关概念获得解决的灵感。同样这次在实验课上花费大量时间对测试代码含义的理解与学习更让我认识到课前预习的重要性,如果课前预习做的好,在实验过程中完全可以做到行云流水般的顺畅,而不是现场学习相关知识,费时费力。

参考资料

posted on 2019-09-21 10:13  20182313-刘尧  阅读(228)  评论(1编辑  收藏  举报