白日梦想jun 2016-04-18 10:16 采纳率: 100%
浏览 2180

Java 分数比较compareTo(Object obj)方法

要求:
1. 不能用分子除与分母的结果来比较大小,这样不精确。
2.分母为零分子为正数时分数为无穷大,两个无穷大的数相等,无穷大的数大于一切其他数;分母为零分子为负数时分数为负无穷大,两个负无穷大的数相等,负无穷小于一切其他数。
3. 正无穷大大于负无穷大,两个负无穷大的分数一样大,两个正无穷大的分数一样大。谢谢指导。

  • 写回答

1条回答 默认 最新

  • threenewbee 2016-04-18 11:45
    关注
     假设你的分数类
    class fraction implements Comparable
    {
    public int x; //分母
    public int y; //分子
    public int compareTo(Object obj)
    {
        fraction f2 = (fraction)f2;
            if (y < 0) { y = -y; x = -x; }
            if (f2.y < 0) { f2.y = - f2.y; f2.x = - f2.x; }
            int x1 = x * f2.y;
            int x2 = f2.x * y;
            return x1.compareTo(x2);
    }
    }
    
    
    评论

报告相同问题?

悬赏问题

  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)