0

抽象クラスをテストしようとしていますが、テスト クラスからメソッドを呼び出すときに問題が発生しています。Java を使用してからしばらく経ちましたが、抽象クラスは使用したことがありません。私がどこで間違っているかについての指針をいただければ幸いです。ありがとう。

抽象クラス

public abstract class RationalNumbers {

    public int numerator, denominator, temp;

    public void setNumerator(int n) {
        numerator = n;
    }

    public void setDenominator(int d) {
        denominator = d;
    }

    public int getNumerator() {
        return numerator;
    }

    public int getDenominator() {
        return denominator;
    }

    public int add() {
        temp = numerator + denominator;
        return temp;
    }

    public int subtract() {
        temp = numerator - denominator;
        return temp;
    }

    public int multiply() {
        temp = numerator * denominator;
        return temp;
    }

    public int divide() {
        temp = numerator / denominator;
        return temp;
    }

   public boolean isEqual() {
        boolean isEqual;
        if (numerator == denominator) {
            isEqual = true;
        } else {
            isEqual = false;
        }
        return isEqual;
    }
}

テストクラス

public class testClass extends RationalNumbers {

    public static void main(String[] args) {
        setNumerator(5);
        setDenominator(10);
        System.out.println("Equal: " + isEqual());
        System.out.println("Numerator: " + getNumerator());
        // etc...
    }
}
4

1 に答える 1

1

申し訳ありませんが、有理数の抽象化を作成しようとする試みは、あらゆる点で間違っています。それはまったく正しくありません。これらの方法はどれも正しくありません: 加算、減算、乗算、除算、isEqual - すべてが完全に間違っています。

equals() - をオーバーライドしたくないですhashCode()か?isEqual()それがいいアイデアだと思った理由は何ですか?

これを適切に行う方法の例については、これを見てください。

于 2012-07-07T02:18:52.440 に答える