我正在尝试创建一个getCalories方法,在该方法中,我必须返回一个String和一个整数,但是却收到一个错误消息,指出一个不能转换为另一个。我该如何进行这项工作?
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();
}
}
答案 0 :(得分:2)
如果您要返回“此餐有10条”之类的句子,则需要将方法的返回类型更改为String
。
如果您要同时退货-不要。毫无理由,无论您在哪里打电话,getCalories
都无法将该文本片段放置在任何用途之前。
顺便说一句,在Meal
类中仅打印一种成分的卡路里值似乎没有多大意义。也许您是想遍历所有Ingredient
并在返回总热量之前对卡路里求和?
答案 1 :(得分:1)
首先,在方法public int getCalories()
上,我将int
更改为String
。然后,在标记return "This meal has" + Ingredient.numberOfCalories;
之后的+
行中,您可以将numberOfCalories
的值Integer.toString(Ingredient.numberOfCalories)
解析为String。它将返回一个字符串,希望它对您有用。
答案 2 :(得分:1)
如果需要返回可能包含不同类型的多个值,一种方法是创建一个定义了适当类型字段的实用工具类,并定义您的方法以返回该类型类型的实例。