我需要帮助修复所需的java代码输出Fraction@55f96302\n是一个错误
所需输出: 正在测试默认构造函数\n \n \n -----------------------------\n \n =>测试默认构造函数/toString()\n 0/1\n 我的输出: 正在测试默认构造函数\n \n \n -----------------------------\n \n =>测试默认构造函数/toString()\n Fraction@55f96302\n我需要帮助修复所需的java代码输出Fraction@55f96302\n是一个错误,java,Java,所需输出: 正在测试默认构造函数\n \n \n -----------------------------\n \n =>测试默认构造函数/toString()\n 0/1\n 我的输出: 正在测试默认构造函数\n \n \n -----------------------------\n \n =>测试默认构造函数/toString()\n Fraction@55f96302\n public class Fraction { private int num, demonator;
public class Fraction {
private int num, demonator;
public Fraction() {
num = 0;
demonator = 1;
}
public Fraction(int input) {
num = input;
demonator = 1;
}
public Fraction(int input2, int input) {
if (num == 0)
throw new IllegalArgumentException("num = 0");
num = input2;
demonator = input;
}
public String ToString(int i) {
return num + "/" + demonator;
}
public double evaluate() {
return num / demonator;
}
public boolean isImproper() {
return (num > demonator);
}
public Fraction multiplyBy(Fraction another)
{
Fraction f = new Fraction(this.num*another.num, this.demonator*another.demonator); //you finish call to constructor
return f;
}
public void invert() {
if (num == 0)
throw new IllegalStateException("num = 0");
int temp = this.num;
num = demonator;
demonator = temp;
}
}
您已经输入了代码。在Java中,方法是camelCase,因此转换中使用的方法是
toString
。但是您实现了ToString
。由于该语言区分大小写,因此被认为是不同的方法,因此不使用。因此使用了object
中的基本方法。您还应该在重写基类中方法的方法之前使用@override
,这种方法是toString