プログラムで私のクマのそれぞれの出力を得るために私のtoStringメソッドを書く方法を見つけるのが苦労しています。出力に "Race - Points - TotalPoints"と表示させたい。しかし、残りのコードはコンパイルされているように見えますが、それを正しく取得することはできません。ArrayListのtoStringメソッドを書くには?
toStringを両方のクラスで定義する必要がありますか、それとも何が欠けていますか?私は似ている他のいくつかの質問をチェックしましたが、それはalternativのようですか?しかし、最も効果的にどのように実装されていますか?クマのクラスオフまず
:
import java.util.ArrayList;
public class Bear {
public static void main(String[] args) {
Bear b = new Bear("Sebastian", 100, "Brownbear");
ArrayList <Bear> bears = new ArrayList<Bear>();
bears.add(b);
}
private String name;
private int points;
private String race;
public Bear(String name, int points, String race) {
this.name = name;
this.points = points;
this.race = race;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getRace() {
return race;
}
public void setRace(String race) {
this.race = race;
}
public int getInitialPoints() {
return points;
}
public int getPoints() {
int oldPoints = points;
points /= 2;
return oldPoints;
}
}
第二BearCollectionクラス:
import java.util.ArrayList;
public class BearCollection {
ArrayList <Bear> bears = new ArrayList<Bear>();
int totalPoints = 0;
public void add (Bear b) {
for (Bear inCollection : bears) {
if(b.getName().equals(inCollection.getName())) {
return;
}
}
for (Bear inCollection : bears)
if (b.getRace().equals(inCollection.getRace())) {
for(int i = bears.size(); i > 0; i --) {
if(bears.get(i).getRace().equals(b.getRace())) {
b.getPoints();
i = 0;
}
}
}
totalPoints += b.getInitialPoints();
bears.add(b) ;
}
public String toString(){
return ;
}
これをご覧くださいhttp://stackoverflow.com/questions/18129505/how-can-i-override-the-tostring-method-of-an-arraylist-in-java – freedev
真剣にあなたが「帰り」の問題を抱えていると言っているのではないですか? –
当然のことながら、私は自分のトーストが完全に空白であることを理解しています。私はちょうどtoStringメソッドをそこに置いて、どこに行くべきかを示しました。 (しかし、私は完全な初心者です) – wilhelmeriksson