最初の文は常に真が、2番目の1でない場合

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になることができますか?

(スキャナは、このコードの前に宣言されました。)

ライン:

あなた以来id1id2等しくない、式は(id != id1 || id != id2)常にtrueに評価されるべきです。おそらく、使用したい&&交換します||そして、あなたのコードが評価されていない第二の発現ので、警告なしにつながる、最初のループに落ちます。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=197210&siteId=1
おすすめ