我很難找到如何編寫我的toString方法來獲取我的程序中每個熊的輸出。我希望輸出顯示「Race - Points - TotalPoints」。但是即使代碼的其他部分似乎編譯了,也無法做到正確。如何爲ArrayList編寫toString方法?
我是否需要在兩個類中定義toString或缺少什麼?我檢查了幾個其他類似的問題,這似乎是一個替代方案?但是如何最有效地實施?
首先熊類:
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是完全空白的,我只是不明白我應該在那裏得到正確的輸出。我只是把toString方法放在那裏,以顯示我應該去的地方。 (但我是一個完整的初學者) – wilhelmeriksson