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驱动方法,测试你的修改结果。

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

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

原本代码及改正方案

  • 原本代码:如图。

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

分析思路

  • 在课上提交的代码中问题只是出在没有使用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");

感想

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

代码托管

参考资料

posted @ 2018-04-11 21:13  zhangyeye233  阅读(166)  评论(2编辑  收藏  举报