我是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」);''。使其成爲實例變量。 –