错误:不兼容的类型:可能有损转换从double到int

时间:2015-12-05 01:05:57

标签: java

public class FoodItem {

 private String name;
 private int calories;
 private int fatGrams;
 private int caloriesFromFat;

 public FoodItem(String n, int cal, int fat) {
    name = n;
    calories = cal;
    fatGrams = fat;  
 }

 public void setName(String n) {
    name = n;
 }

 public void setCalories(int cal) {
    calories = cal; 
 }

 public void setFatGrams(int fat) {
    fatGrams = fat;  
 }

 public String getName() {
    return name;
 }

 public int getCalories() {
    return calories;
 }

 public int getFatGrams() {
    return fatGrams; 
 }

 public int getCaloriesFromFat() {
    return (fatGrams * 9.0); 
 }

 public int getPercentFat() {
    return (caloriesFromFat / calories);
 }

 // Ignore for now
 public String toString() {
    return name + calories + fatGrams;
 }
}

我的指示是“包含一个名为caloriesFromFat的方法,该方法返回一个整数,其中包含脂肪对总卡路里的贡献卡路里数(脂肪克数* 9.0)。”但是当我尝试编译时,我得到了上述错误。我不知道我的错误。

1 个答案:

答案 0 :(得分:1)

您在double的乘法中使用了9.0文字getCaloriesFromFat。因此,fatGrams会被提升为double进行乘法,而产品为double。但是,您使用该方法返回int

您可以使用int文字(9,无小数点),也可以getCaloriesFromFat返回double而不是int。由于您只是乘以9,我会使用int文字9