实验2报告

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

课程:《程序设计与数据结构》

班级: 1823

姓名: 郑力元

学号:20182320

实验教师:王志强

实验日期:2019年9月17日
必修/选修: 必修

1.实验内容

(1) 编写简单的计算器,完成加减乘除模运算。

(2) 要求从键盘输入两个数,使用判定语句选择一种操作,计算结果后输出,然后使用判定和循环语句选择继续计算还是退出。

(3) 编写测试代码,测试验证。(https://www.cnblogs.com/rocedu/p/4472842.html

2. 实验过程及结果

第一步:创建文件

  • 和日常一样,创建bin和src文件夹:
    1779749-20190922150252248-2020801634.png

  • src里面创建有三个.java文件,我这里分别命名为calculator、Calculator和Test,他们分别用于编写计算器的方法、编写主方法和测试:
    1779749-20190922150618246-2017943588.png

第二步:编写代码

  • 我们首先编写具有计算器功能的子函数代码,代码如下:
    1779749-20190922150910847-2133972415.png
    这个子函数需要接收来自主函数的传参,参数的类型为图中画横线的括号内的内容。

其次,这个函数使用了switch语句,用于检测用户需要进行什么类型的运算(+-*/).

  • 其次,我们编写主函数,其代码如下:
    1779749-20190922151230176-775999198.png
    主函数主要负责执行对计算器函数的调用、实现接受用户输入的数字和符号和程序最后的循环功能。

  • 最后我们编写测试文件,测试具有计算器功能的子函数是否能正常实现功能。代码如下:
    1779749-20190922151816451-774505145.png

第三步:编译运行

  • 主函数的运行结果如下:
    1779749-20190922152050372-1325800337.png
    功能正常。

    第四步:测试

  • 运行测试程序结果如下:
    1779749-20190922152206471-959906815.png
    测试通过。

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

  • 问题1:

在Java中使用for()语句,和在C中不同。若如下使用,会报错:
1779749-20190922152347163-534748569.png
1779749-20190922152447476-1973487411.png

  • 问题1解决方案:

显然,报错提示应将“1”替换成布尔类型的值,而间接说明Java中的布尔类型的值并不简单以“1”和“0”表示。

因此,我们将“1”去掉,程序会默认执行循环,功能类似于C语言中的for(;1;)语句。

  • 问题2:

在编写最后是否需要循环的语句时,我如下编写,能顺利通过编译,但是在运行时却不能实现循环功能:
1779749-20190922154212456-1458156016.png
1779749-20190922153300319-94000781.png
并且这段语句我认为是符合逻辑,至少很符合C语言的逻辑的。

  • 问题2解决方案:

将上面的检测循环代码修改为如下:
1779749-20190922153711929-1273425539.png
功能就能正常实现了
1779749-20190922153730753-871708637.png

其他(感悟、思考等)

Java和C语言虽然有许多共通的逻辑和语法,但是在一些特殊情况下,他们还是有略微不同。若将Java和C语言对比着学习,就需要注意这些不同之处,避免因为陷入其中一方的逻辑而找不出程序的错误。

参考资料

转载于:https://www.cnblogs.com/leonzheng/p/11567731.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值