20172322 2017-2018-2 《程序设计与数据结构》4月11日课上习题增补提交

20172322 2017-2018-2 《程序设计与数据结构》4月11日课上习题增补提交

  • 课程:《程序设计与数据结构》
  • 班级: 1723
  • 姓名: 张昊然
  • 学号: 20172322
  • 实验教师:王志强老师
  • 测试日期:2018年4月11日
  • 必修/选修: 必修

增补的习题原题

  • 编译运行PP7.4
  • PP7.4具体内容:
  • 修改RationalNumbeR类,使其实现Comparable接口。为了实现比较,首先计算两个RationalNumber对象(分子和分母)的浮点数等价值,然后以0.0001为误差精度进行比较。编写一个main驱动方法,测试你的修改结果。

课上提交的代码所存在的问题及原因

  • 问题:缺少缺少精度比较的方法。
  • 原因:没有认真审题导致直接使用了大小于符号进行比较大小,没有使用书上规定的精度值。

原本代码及改正方案

  • 原本代码:如图。
    1333109-20180411211046715-1466031757.png

  • 改正方案:按照书上要求以0.0001为精度来比较两个数值的大小,具体代码以及运行结果如图所示。
    1333109-20180411211217960-127488836.png

1333109-20180411211129488-1596565568.png

分析思路

  • 在课上提交的代码中问题只是出在没有使用0.0001的误差精度来进行比较,利用0.0001的误差精度来进行比较后就可以完成问题。

关键代码

        System.out.println("First rational number: " + r1);
        System.out.println("Second rational number: " + r2);
        if (r1.compareTo(r2) < 0.0001)
            System.out.println("r1 < r2");
        else if (r1.compareTo(r2) > 0.0001)
            System.out.println("r1 > r2");
        else
            System.out.println("r1 = r2");

感想

  • 审题一定要仔细,不然造成的后果很严重

代码托管

参考资料

转载于:https://www.cnblogs.com/zhangyeye233/p/8798792.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值