java - 我需要帮助修复所需的 Java 代码输出 Fraction@55f96302\n 是一个错误
问题描述
所需输出:测试默认构造函数\n \n \n -----------------------------\n \n ==>测试默认值构造函数/toString()\n 0/1\n
我的输出:测试默认构造函数\n \n \n -----------------------------\n \n ==>测试默认值构造函数/toString()\n 分数@55f96302\n
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
. 由于该语言区分大小写,因此被认为是不同的方法,因此未使用。所以使用了from的基本方法object
。此外,您应该使用@override
before 方法覆盖基类中的方法,这样的方法是toString
.
推荐阅读
- swift - 水平滚动视图在快速滚动期间上下跳跃
- android - Initializing LiveData from lateinit object
- powershell - Query and exclude softwares installed on remote computers
- python - Python:打印 4 个变量的排列
- android - How to hide activity if it's immediately being redirected
- c - 浮点数数组的总和返回不同的结果
- angular - 具有可变参数的角度路线导航
- php - 代码中的 PHP 解释器微优化
- excel - Excel Pain: Saved With Filters, Opened And file Was Half the Size
- c# - Cannot successfully iterate through AccountManagement.GroupPrincipal GetMembers Object