问:public boolean isFullyCharged(){boolean wasCharged = false; 如果(!isBatteryEmpty()){mBarsCount--; wasCharged = true; } return mBarsCount == MAX_ENERGY_BARS; }
我需要将while循环添加到上面的代码中。
GoKart.java
公共 类 GoKart {
public static final int MAX_ENERGY_BARS = 8 ; 私有字符串mColor ; 私人int mBarsCount ; 公共GoKart (字符串颜色){ mColor = color ; mBarsCount = 0 ; } public String getColor (){ return mColor ; }公共无效收费(){
mBarsCount = MAX_ENERGY_BARS ;
} public boolean isBatteryEmpty (){ return mBarsCount == 0 ; } public boolean isFullyCharged (){ boolean wasCharged = false ; 如果(!isBatteryEmpty ()){ mBarsCount- ; wasCharged = true ; } return mBarsCount == MAX_ENERGY_BARS ; } }
答:您根本不需要修改isFullyCharge方法,因为该方法已经很完美了。如果GoKart已充满电,则此方法返回true;否则返回false。在充电方法中使用它来证明GoKart的充电状态。
在为手机充电之前……您正在问自己……我的手机是否已充电?....我需要收费吗?....您可以在此处应用相同的逻辑。
在您的计费方法中,您可以创建一个while循环。在括号内,您需要一个为“ true”的条件
while (!isFullyCharged ()) //当GoKart未充满电时,条件为true(mBarsCount == MAX_ENERGY_BARS不相等)
请增加mBarCount
看下面的代码:
public void charge () {
while (!isFullyCharged ()){ //未完全充电时,请增加mBarsCount // mBarsCount ++; } }
您可以在charge()中删除“ mBarsCount = MAX_ENERGY_BARS”,因为如果GoKart不是FullyCharged的话,您可以设置mBarsCount :)