要求:
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);
}
}