public String foodstats (){
String foodstats = "";
for ( int i = 0; i < consumables.size(); i++){
foodstats = "Name: " + consumables.get(i).getName() + "\tNutrition: " + consumables.get(i).getNValue() + "\tStamina: " + consumables.get(i).getStamina() + "\n" ;
}
return foodstats;
}
所以这返回:
Name: Water Nutrition: 30 Stamina : 15
我知道为什么这样做,第二次for循环通过它替换第一项的统计信息,并仅返回替换后的统计信息。
有没有解决的办法?我需要根据数组列表大小返回所有项目的统计信息。
最佳答案
我认为您正在寻找的是StringBuilder
,在这种情况下比+=
串联更有效:
public String foodstats (){
StringBuilder foodstats = new StringBuilder();
for ( int i = 0; i < consumables.size(); i++){
foodstats.append("Name: " + consumables.get(i).getName() + "\tNutrition: " + consumables.get(i).getNValue() + "\tStamina: " + consumables.get(i).getStamina() + "\n");
}
return foodstats.toString();
}