zoukankan      html  css  js  c++  java
  • 第五周课堂实践之改进

    PP7.4的编程过程:

    分析思路

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

    • 本题重点是实现 Comparable 接口,计算对象浮点值以万分之一为精度进行比较。

    关键代码

    1. 首先,接口的方法名通常叫做 compareTo ,对象是 RationalNumber 对象:
    public int compareTo(RationalNumber op2)
    
    
    1. 将 RationalNumber 对象转为等值的浮点值以便下一步的比较:
    double nu1, de1, nu2, de2;
    nu1 = numerator;
    de1 = denominator;
    nu2 = op2.getNumerator();
    de2 = op2.getDenominator();
    double sh1 = nu1 / de1;
    double sh2 = nu2 / de2;
    
    1. 利用if语句进行关键的比较:
    if (sh1 - sh2 >0.0001)
        return 1;
    else if (sh2 - sh1 > 0.0001)
        return -1;
    else
        return 0;
    
    1. 修改完成! 差点忘记了,添加implements Comparable声明一下:
    public class RationalNumber implements Comparable
    
    1. 驱动类测试部分:
    RationalNumber r8 = new RationalNumber(1, 1000000);
    RationalNumber r9 = new RationalNumber(2, 1000000);
    
    if (r8.compareTo(r9) == -1)
        System.out.println("r8 < r9");
    else if (r8.compareTo(r9) == 1)
        System.out.println("r8 > r9");
    else
        System.out.println("r8 = r9");
    

    结果截图




    所遇问题

    1. 做此作业时未认真学习if语句,不了解“是否相等”需要使用==而使用了=,编译多次错误。
    2. 本章中无接口实例,初次编程时没有头绪,网上查找过后没能发现需要加上implements Comparable,后来老师讲到了,修改后没有上传码云。

    参考资料

  • 相关阅读:
    iOS自动布局框架-Masonry详解
    iOS设置圆角的三种方式
    iOS9 App Thinning(应用瘦身)功能介绍
    以无线方式安装企业内部应用
    Xcode 9 Analyzing Crash Reports
    IQKeyboardManager 问题锦集
    列表
    字符串索引,切片,步长及方法详解
    while循环语句、格式化输出、常用运算符、字符编码
    if语句简单练习
  • 原文地址:https://www.cnblogs.com/zhaoqianchen/p/8797994.html
Copyright © 2011-2022 走看看