使用if语句将毫升更改为升

时间:2016-06-25 06:57:43

标签: java

嗨,我的任务问题是 标头public double getGuppyVolumeRequirement()的方法 它返回所有生活所需的总升数 池中的孔雀鱼。请注意,Guppy类有一个有用的方法 返回每个Guppy所需的总毫升数。您 将需要将其转换为升(注意1,000 mL = 1 L)。

在我的guppy课程中,我为mliliters编写了代码:

public double getVolumeNeeded() {
        if (getAgeInWeeks() < YOUNG_FISH) {
            return MINIMUM_WATER_VOLUME_ML;
        } else if (getAgeInWeeks() <= MATURE_FISH) {
            return MINIMUM_WATER_VOLUME_ML * getAgeInWeeks() / YOUNG_FISH;
        } else if (getAgeInWeeks() <= MAXIMUM_AGE_IN_WEEKS) {
            return MINIMUM_WATER_VOLUME_ML * 1.5;
        } else {
            return 0;
}

现在我很困惑如何使这成为升。 这是我回归池中的孔雀鱼

public int getPopulation() {
     return guppiesInPool.size();
}

3 个答案:

答案 0 :(得分:0)

因为1L = 1000mL,您可以使用以下公式将升转换为毫升,反之亦然:

litres = milliLitres / 1000;


milliLitres = litres * 1000;

在您的代码中,您可以替换以下说明:

  return MINIMUM_WATER_VOLUME_ML;    // Returns millilitres

使用以下说明:

  return MINIMUM_WATER_VOLUME_ML / 1000;   // Returns litres

或者对于大多数复杂的公式:

 // Returns millilitres
 return MINIMUM_WATER_VOLUME_ML * getAgeInWeeks() / YOUNG_FISH;  

更改为

 // Returns litres
 return (MINIMUM_WATER_VOLUME_ML * getAgeInWeeks() / YOUNG_FISH) / 1000;   

答案 1 :(得分:0)

因为你有一个方法可以返回Guppy类中所需的毫升数,而1L = 1000ml你可能想要返回

return liters = /* method which returns the total number of milliLitres required per Guppy */ / 1000;

如果此getVolumeNeeded()方法返回您可能想要的毫升数:

public double getVolumeNeeded() {
    if (getAgeInWeeks() < YOUNG_FISH) {
        return (MINIMUM_WATER_VOLUME_ML) / 1000;
    } else if (getAgeInWeeks() <= MATURE_FISH) {
        return (MINIMUM_WATER_VOLUME_ML * getAgeInWeeks() / YOUNG_FISH) / 1000;
    } else if (getAgeInWeeks() <= MAXIMUM_AGE_IN_WEEKS) {
        return (MINIMUM_WATER_VOLUME_ML * 1.5) / 1000;
    } else {
        return 0;
}

您需要做的就是除return / 1000

答案 2 :(得分:0)

因为每个孔雀鱼都需要ml,所以只需将升数量换成return MINIMUM_WATER_VOLUME_ML/1000