public boolean equals(Object o) {
if(new BigFraction(num,denom) == o);
return true;
}
«Если» на самом деле ничего не делает. Кроме того, просто проверка того же объекта не даст правильного результата. Что вы можете сделать, это:
return o.num.equals(num) && o.denom.equals(o.denom);
Но тогда вам нужно убедиться, что класс автоматически сокращается с 2/4 до 1/2.
public double floatValue() {
return num.floatValue() / denom.floatValue();
}
Конечно, это не всегда работает (особенно, если denom равен 0).