私はJavaを初めて使い、燃料使用量を記録する簡単なプログラムを作成しようとしています。私はこれが良い運動だと思った。 "package.Animal @" が、ここで私は私のコンソールで得るものです:: 私のオブジェクトは印刷されていません
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でこのコードは次のようなものをプリントアウトします
> 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 @' –
ハッシュコードを出力するデフォルトのtoString()を参照していますか?その場合、toString()メソッドをオーバーライドして ""を返すので、その行に何も表示されません。 – Ryan
@HF toString()メソッドを削除して参照してください。また、 'main()'で 'Car myCar = new Car(" Audi ");を移動します。それをインスタンス変数にする。 –