2016-04-05 6 views
1

は私のプロジェクトの一環として、私はループを行う必要があり、繰り返しここintの代わりにハッシュコードが表示されますが、オブジェクト名が正しく表示されませんか?

が、私は常に物事が予定されているかどうかを確認するためのSystem.out.printlnを使用してコード

for(int rabbitcounter=0; rabbitcounter<30;rabbitcounter++) { 
    yettoracequeue.add(new Rabbits("Rabbit" + rabbitcounter, Math.random()*100)); 
    System.out.println(yettoracequeue); 
    System.out.println(rabbitcounter); 

である私のキューにオブジェクトを追加します予想通り。 System.out.printlnは上記の実行時に

はしかし、それは私の代わりに、上記を使用してウサギ1.

[[email protected]] 

を与え、私は私のウサギからのgetName()メソッドを呼び出そうとしました次の行でクラスを教えてください。

System.out.println([email protected]()); 

ただし、間違いがあります。オブジェクトが初期化されていないためです。ここで

は私のウサギのクラスは、私はまだ間違って名前の私のプロジェクトの次のステップに進むことができていますが、私のプロジェクトの結論がために私を必要だと思う

package queuepart; 
public class Rabbits { 
// properties of rabbits 
private double speed; 
private String name; 
//private int counter = 1; 
//Constructor, must be name of object 
public Rabbits() { 

} 

public Rabbits(String name, double speed) { 
    this.name = name; 
    this.speed = speed; 
    //counter++; 
} 
//Speedgetter 
public double getSpeed() { 
    return speed; 
} 

//Namegetter 
public String getName() { 
    return name; 
} 

//Speedsetter 
public void setSpeed (double speed) { 
    this.speed = speed; 
} 

//Namesetter 
public void setName(String name) { 
    this.name = name; 
} 

}

です正しいうさぎの名前、例えば、うさぎ1、うさぎ2などがあります。

ありがとうございました。 :)

+1

yettoracequeue' 'は何ですか? – Hackerdarshi

+3

'Rabbit'クラスの' toString'メソッドをオーバーライドします。これは 'System.out.println(someRabbit)'を実行するときに呼び出されるメソッドです。 – Berger

+0

@Hackerdarshiウサギのオブジェクトを追加するキューです。 – AdventL

答えて

1

あなたのRabbitsクラスでtoString()メソッドをオーバーライドする必要があり

@Override 
public String toString() { 
    return name; 
} 
0

オーバーライドObjectクラスのtoString()方法。あなたRabbitsクラス

@Override 
public String toString(){ 
    return "[Rabbit name: " + this.name + " - Rabbit speed: " + this.speed + " ]"; 
} 
0
を追加に対してtoStringを上書きするように(あなたのラビットクラスを変更

)以下のようにObjectクラスからmethos:

package queuepart; 
public class Rabbits { 
    // properties of rabbits 
    private double speed; 
    private String name; 
    //private int counter = 1; 
    //Constructor, must be name of object 
    public Rabbits() { 

    } 

    public Rabbits(String name, double speed) { 
     this.name = name; 
     this.speed = speed; 
     //counter++; 
    } 
    //Speedgetter 
    public double getSpeed() { 
     return speed; 
    } 

    //Namegetter 
    public String getName() { 
     return name; 
    } 

    //Speedsetter 
    public void setSpeed (double speed) { 
     this.speed = speed; 
    } 

    //Namesetter 
    public void setName(String name) { 
     this.name = name; 
    } 

    public String toString(){ 
     return this.name + " " + this.speed; 
    } 
} 
関連する問題