我正在尝试创建一个getCalories方法,其中我必须返回一个字符串和一个整数但我收到一个错误,说一个不能转换为另一个。我该如何工作?
package task14;
import java.util.ArrayList;
public class Meal {
ArrayList<Ingredient> ingredient = new ArrayList<Ingredient>();
public Meal() {};
public Meal(ArrayList<Ingredient> ingredient) {
this.ingredient = ingredient;
}
**public int getCalories() {
return "This meal has" + Ingredient.numberOfCalories;
}**
public String toString() {
return ingredient.toString();
}
}
如果您尝试返回“此餐有10”这样的句子,则需要将方法的返回类型更改为String
。
如果你想要两者兼顾 - 不要。没有理由为什么无论你在哪里调用getCalories
都无法在它用于之前放置那段文本。
另外,在Meal
类中仅打印一种成分的卡路里值似乎没有多大意义。也许你的意思是循环所有Ingredient
s并在返回总数之前加总卡路里?
首先,在方法public int getCalories()
我将改变int
由String
。然后在令牌return "This meal has" + Ingredient.numberOfCalories;
之后排队+
你可以用numberOfCalories
解析Integer.toString(Ingredient.numberOfCalories)
的值。它将返回一个字符串,希望它对你有用。
如果需要返回多个可能包含不同类型的值,则一种方法是创建一个实用程序类,并定义相应的类型字段,并定义您的方法以返回该类型的实例。