3
public class Fraction
{
    public Franction(int n, int d)
    {
        int num = n;
        int denom = d;
    }

    public static void main(String[] args)
    {
        Fraction f1 = new Fraction(5,10);
        System.out.println("Fraction = " + f1);
    }
}

こんにちは、私は Java を学ぼうとしています... 私が取り組んでいる本では、上記のコードの出力は "Fraction = 5/10" と出力されるはずですが、試してみると "Fraction = Fraction @ 33469a69」は、それが保存されている場所への参照を印刷していると思いますか? コンストラクターでどのように動作すると想定されているかを理解していますが、期待される出力が得られません。どんな助けでも大歓迎です...ありがとう!

4

6 に答える 6

1

次のことを試してください。

public class Fraction {

    private final int num;
    private final int denom;

    public Fraction(int num, int denom) {
        this.num = num;
        this.denom = denom;
    }

    @Override
    public String toString() {
        return num + "/" + denom;
    }

    public static void main(String[] args) {
        Fraction f1 = new Fraction(5, 10);
        System.out.println("Fraction = " + f1);
    }
}

作成したオブジェクトに値を保存する必要があります。toString次に、メソッドをオーバーライドしてObject、目的の出力を取得します。

出力:

Fraction = 5/10
于 2013-09-02T09:04:38.160 に答える