私はJavaの初心者です。私は十代の年齢が13歳から19歳までのどこにあるのか知りました.2つのint値があり、10代の場合はtrueを、10代の場合はfalseを出力します。このコードで印刷文とif文の結果が異なる
if ((a >= 13 && a <= 19) && (b >= 13 && b <= 19)) {
out.println(false);
}
out.println(true);
、私は右の出力を生成することができた:
(13、99) - >期待:真>>ラン:真
(16、9) - >予想:真の>>実行:真
(13、19) - >予想:偽>>実行:偽
しかし、特にこのいずれかで、私はできません:(99、99) - >期待通り:false >>実行:真。今
私は声明としてそれをプリントアウトしようとした場合:
System.out.println((99 >= 13 && 99 <= 19) && (99 >= 13 && 99 <= 19));
それが偽を出力します。何故ですか?
あなたは*必ず*印刷 'true'を。あなたは 'else'を欠いています。 – EJP
'a'と' b'の値が13-19の範囲にあるときだけ 'false'を表示します。あなたの最後のテストの変数の両方がその範囲にないことを考えれば、なぜそれが 'true'を出力すると期待していますか?もしも一方が10代のときに 'false'をしたいときに' if'文のロジックを調べなければならないかもしれません。 – AntonH
'(a> = 13 && a <= 19)&&(b> = 13 && b <= 19)'はfalseになるため、99が19以下ではないためif文の内部には入りません。 –