T.Cook:
public class FlourPacker {
public static boolean canPack(int bigCount, int smallCount, int goal) {
if ((bigCount < 0 || smallCount < 0 || goal < 0))
return false;
if ((bigCount * 5) < goal)
return ((goal - (bigCount * 5)) <= smallCount);
else return ((goal % 5)<= smallCount);
}
public static void main(String []args){
System.out.println(canPack(3,0,11));
}
}
したがって、この問題でbigCount
価値が5であるとsmallCount
価値が1であり、私はゴール数を取得しようとすることになっています。私は(目標)の上に行くことができないbigCount
と私缶smallCount
。
しかし、私の質問は、どのように最後に来ているif
とelse
のステートメントは、私が入れにする必要はありませんtrue
かfalse
復帰のために?私は(私が作成していること、すなわち。mainメソッド)を実行すると、それは私に語ったtrue
私は絶対に入れないにもかかわらず、return true
コードに。
Nybbit:
あなたは指定する必要はありませんtrue
かfalse
、具体的。あなたがした場合は、すべてあなたのif文がなければならないであろうif (true)
かif (false)
。
だから、代わりに、あなたは評価さにすることをif文の内部表現の書き込みtrue
またはfalse
(あなたの例を取ると、if ((bigCount * 5) < goal)
内と同等になるif (true)
かif (false)
の変数から値をプラグインした後)。
これと同じ考え方は、(return文のために行くreturn ((goal % 5)<= smallCount)
になるだろうreturn true
かreturn false
)。