问题描述
- Java 分数比较compareTo(Object obj)方法
- 要求:
1. 不能用分子除与分母的结果来比较大小,这样不精确。
2.分母为零分子为正数时分数为无穷大,两个无穷大的数相等,无穷大的数大于一切其他数;分母为零分子为负数时分数为负无穷大,两个负无穷大的数相等,负无穷小于一切其他数。
3. 正无穷大大于负无穷大,两个负无穷大的分数一样大,两个正无穷大的分数一样大。谢谢指导。
解决方案
假设你的分数类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);}}
解决方案二:
java中compareTo和compare方法之比较
java中compareTo和compare方法之比较
java中compareTo和compare方法之比较
时间: 2024-09-20 01:05:51