Yoshi24517:
これは前に依頼されている場合、私は謙虚に謝罪します。
ここで私が持っているいくつかのコードです。
int id1 = 1234;
int id2 = 5678;
int idPass1 = 123;
int idPass2 = 456;
System.out.println("Welcome. Please enter your Employee ID.");
while(true) {
int id = input.nextInt();
//add more if needed
if(id != id1 || id != id2){
System.out.println("Employee does not exist. Please try again.");
} else {
break;
}
}
System.out.println("Please enter your password.");
while(true){
int idPass = input.nextInt();
//add more if needed
if(idPass != idPass1 || idPass != idPass2){
System.out.println("Incorrect Password entered. Please try again.");
} else {
break;
}
}
ご覧のように。2のif / else文は、変数を除いて、まったく同じです。IDを持つ最初の文は、IntelliJので、それは常に真実であることを述べています。2番目のステートメントは、パスワードで、私はその警告を与えるものではありません。
第二のif / else文がまったく同じ(マイナス変数)であるとは限らない場合はどのように最初のif / else文は常にtrueになることができますか?
(スキャナは、このコードの前に宣言されました。)
ライン:
あなた以来id1
とid2
等しくない、式は(id != id1 || id != id2)
常にtrueに評価されるべきです。おそらく、使用したい&&
交換します||
。そして、あなたのコードが評価されていない第二の発現ので、警告なしにつながる、最初のループに落ちます。