亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何解決此代碼中的“代碼額外進入其他部分”while循環問題?

如何解決此代碼中的“代碼額外進入其他部分”while循環問題?

慕森王 2022-05-12 16:21:00
我正在嘗試打印用戶名和密碼,但是代碼兩次輸入 else 部分。我為條件添加了打印功能。在用戶名和密碼匹配的情況下,我接受了"Matched!"和"Invalid username or password!"消息。在唯一匹配的用戶名的情況下,我接受"Username!"并"Invalid username or password!"發送消息。在唯一匹配的密碼的情況下,我采取了"Password"和"Invalid username or password!"消息。如果沒有匹配,我會收到"Invalid username or password!"兩次消息。下面是代碼Statement myStmt = myConn.createStatement();ResultSet resultSet = myStmt.executeQuery("SELECT * FROM `Employee`");while(resultSet.next()) {    if(resultSet.getString("username").matches(textField_1.getText()) && resultSet.getString("password").matches(textField_2.getText())) {        System.out.println("Matched!");    } else {        System.out.println("Invalid username or password!");    }}結果假設為“匹配!” 為有效的密碼和用戶名。結果假設為“無效的用戶名或密碼!” 對于無效的用戶名或密碼。
查看完整描述

2 回答

?
白衣非少年

TA貢獻1155條經驗 獲得超0個贊

您基本上將所有員工詳細信息存儲到 resultSet 中,但隨后您將遍歷它們中的每一個。如果您有 3 組用戶名和密碼并且只有一組匹配,那么您將獲得


Matched!

Invalid

Invalid

相反,您可能只想檢查一個用戶名和密碼?不確定您在尋找什么。此外,當您比較用戶名和密碼時,請使用 .equals()。


編輯


編輯上面的答案,使用.equals()而不是.matches().


Statement myStmt = myConn.createStatement();


ResultSet resultSet = myStmt.executeQuery("SELECT * FROM `Employee`");


boolean check = false;


while(resultSet.next()){ 


    if(resultSet.getString("username").equals(textField_1.getText()) && 

       resultSet.getString("password").equals(textField_2.getText()))

    { 


        System.out.println("Matched!");

        check = true;

        break;


    }


}


if (check == false){


      System.out.println("Invalid username or password!");

}


查看完整回答
反對 回復 2022-05-12
?
嗶嗶one

TA貢獻1854條經驗 獲得超8個贊

Statement myStmt = myConn.createStatement();

ResultSet resultSet = myStmt.executeQuery("SELECT * FROM `Employee`");

boolean check = false;

while(resultSet.next()){ 

    if(resultSet.getString("username").matches(textField_1.getText()) && resultSet.getString("password").matches(textField_2.getText())){ 

        System.out.println("Matched!");

        check = true;

        break;

    }


}

if (check == false){


      System.out.println("Invalid username or password!");

}

現在 while 循環將搜索正確的用戶名和密碼,如果沒有將打印 Invalid。


查看完整回答
反對 回復 2022-05-12
  • 2 回答
  • 0 關注
  • 116 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號