¿Por qué Math.pow (x, y) cuenta como un doble?

Estoy escribiendo un programa Java para calcular la cantidad de comida que se necesitará para llevar a un monstruo a un cierto nivel en My Singing Monsters. Cuando ejecuto el programa, dice, "no se puede convertir de doble a int". ¿Alguien puede explicar por qué es esto? Aquí está el programa.

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.");
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta