我试图写有多个构造函数的类的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语句,以便它说明我在上面引用中提到的内容。 –
至少给编译器错误 - 并试图理解。 –