我試圖寫有多個構造函數的類的toString方法:重載ToString方法
public Fraction(int n1, int d1, int n2, int d2)
{
num1=n1;
den1=d1;
num2=n2;
den2=d2;
}
和
public Fraction(int nAns, int dAns)
{
nAnswer=nAns;
dAnswer=dAns;
}
然而,當我嘗試寫一個toString,我一直(可能是因爲這兩種方法都稱爲toString):
public String toString()
{
return "Fraction[numerator1="+num1+", numerator2="+num2+", denominator1="+den1+", denominator2="+den2+"]";
}
public String toString()
{
return "Fraction[nAnswer="+nAnswer+", dAnswer="+dAnswer+"]";
}
如果我命名爲toString方法toString和另一個toString2,程序編譯但沒有給我toString2所需的輸出。所以我然後試着寫這個方法的if語句,但我不知道如何寫if部分(我怎麼說「如果你的分數看起來像第一個構造函數,返回第一個toString;如果你的分數看起來像第二個構造函數,返回第二個toString「?)。
我嘗試以下,但我知道,如果部分是錯誤的,因爲我不斷收到編譯錯誤:
if Fraction==Fraction(int num1, int den1, int num1, int den2)
{
public String toString()
{
return "Fraction[numerator1="+num1+", numerator2="+num2+", denominator1="+den1+", denominator2="+den2+"]";
}
else if Fraction==Fraction(int nAnswer, int dAnswer)
{
public String toString()
{
return "Fraction[nAnswer="+nAnswer+", dAnswer="+dAnswer+"]";
}
}
但我知道,一個重載的toString方法是可行的,因爲這麼多的類Java庫使用它(例如,Rectangle類)。
有什麼建議嗎?提前致謝!
代碼中至少有10個編譯器錯誤。 –
正如我在我的文章中提到的,我知道我的代碼有編譯錯誤,即在if語句中。但是,由於我仍然是初學者程序員,我不知道如何解決這些錯誤。我需要幫助的主要部分是如何編寫if語句,以便它說明我在上面引用中提到的內容。 –
至少給編譯器錯誤 - 並試圖理解。 –