私はこの挑戦にhttps://www.hackerrank.com/challenges/java-if-elseHackerRankの挑戦、私は間違って何をしていますか?
を行うにしようとしています、私はこれをやってみました:
public class Main {
public static void main(String[] args) {
int x;
x = 34;
if ((x % 2) != 0) {
System.out.println("Weird");
} else if (((x % 2 == 0) & ((x >= 2) & (5 >= x)))) {
System.out.println("Not Weird");
} else if (((x % 2 == 0) & ((x >= 6) & (20 >= x)))) {
System.out.println("Weird");
} else if ((x % 2 == 0) & (x > 20)) {
System.out.println("Not Weird");
}
}
}
私はのIntelliJでこれを実行し、それが正常に動作しますが、ここで、私は唯一の3つのテストケースが権利を取得。私は間違って何をしていますか?私はスキャナのものに圧倒されました。私はまだ自分の読書でそのことをカバーしていませんでした。
と "&" 何を意味するのでしょうか? – TomekK
@TomekKこの文脈では、非短絡AND演算子です。 –
ヒント: '(x%2 == 0)'を繰り返しチェックするのは無意味です。あなたはすでにそれが真実でないかどうかをチェックしました。それは他のすべての場合を意味しています。それはすでに真です。 –