问:int factorial(n){如果(n == 1)返回1; //因为1!= 1否则返回n * factorial(n-1); }
但这也不起作用。
恐怕我被卡在这个泡菜里了!有人可以帮我,以便我继续上课吗?
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 ; 如果(!isFullyCharged ()){ mBarsCount- ; wasCharged = true ; } while (!isFullyCharged ()){ mBarsCount ++; } { }
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 :)