我是Java新手,试图制作一个简单的程序来记录燃料使用情况。我认为这将是一个很好的练习。我的对象未被打印
public class MyJavaProgram {
static Car myCar = new Car("Audi");
public static void main(String[] args) {
System.out.println(myCar);
myCar.refuel(100);
myCar.drive(50);
myCar.drive(20);
}
}
通常用Java这个代码将打印出像: “package.Animal @”,但这里是我在控制台中看到:
> A new Audi has been created.
>
> Car refilled with 100 liter fuel.
> Car drove 50 km.
> Car drove 20 km.
我的车类:
public class Car {
String type;
int fuel = 0;
int driven;
public Car(String type) {
this.type = type;
System.out.println("A new "+type+" has been created.");
}
public void refuel(int amount) {
fuel += amount;
System.out.println("Car refilled with "+amount+ " liter fuel.");
}
public void drive(int amount) {
fuel -= amount;
driven += amount;
System.out.println("Car drove "+amount+" km.");
}
public String toString() {
return "";
}
}
我看不到我的代码的哪一部分导致了这个错误。
@HF你打算怎么打印我没有得到'package.Animal @' –
你是否指默认的打印出hashcode的toString()?如果是这样,因为你重写了toString()方法返回“”,那么没有任何东西会出现在那行 – Ryan
@HF只需删除toString()方法即可。还可以在'main()'侧面移动'Car myCar = new Car(“Audi”);''。使其成为实例变量。 –