【发布时间】:2014-04-28 02:16:47
【问题描述】:
我正在编写一个 Java 程序来计算在 My Singing Monsters 中让怪物达到一定水平需要多少食物。当我运行程序时,它说“无法从 double 转换为 int”。有人可以解释这是为什么吗?这是程序。
int totalFood = 0;
int level = 1;
int levelMeal = 5*(Math.pow(2,level-1));
int mealNumber = 1;
int levelGoal = 1;
while(level != levelGoal)
{
if(mealNumber != 5)
{
mealNumber += 1;
totalFood += levelMeal;
}
else if(mealNumber == 5)
{
mealNumber = 0;
level += 1;
}
}
if(level == levelGoal)
{
println("The total amount of food required for a monster to reach level " + levelGoal + " is " + totalFood + " food.");
}
【问题讨论】:
-
Here's javadoc.
-
显示错误时,显示“int levelMeal = 5*(Math.pow(2,level-1));”的行突出显示。
-
@JasonChen pow 返回什么数据类型?您要分配给什么类型的值?当你回答这些问题时,答案就显而易见了。
-
我应该将 levelMeal 转换为 double 吗?
-
错误确实不言自明。