Проверка логина Java не работает? - PullRequest
0 голосов
/ 27 июня 2018

Я объявил все соответствующие строковые переменные в моем коде. Моя проблема заключается в подтверждении входа в систему. Я пытаюсь проверить, существует ли строка в моем текстовом файле при нажатии кнопки. Макет которого "имя пользователя: john25, пароль: john25". Может кто-нибудь точно показать мне, где я иду не так

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    // TODO add your handling code here:]
    if(evt.getSource()==jButton1){
        boolean found = false;
        username = ("");
        password = ("");
        filepath =("doctorFiles.txt");

        username = jTextField1.getText();
        password = jPasswordField1.getText();

        try{
            x = new Scanner(new File(filepath));
            x.useDelimiter("[,\n]");

            while(x.hasNext() && !found ) {
                username = x.next();
                password = x.next();

                if(username.trim().equals(username.trim()) && password.trim().equals(password.trim()))
                {
                    found = true;
                   if(found==true){
                     welcomePage goback = new welcomePage();
                     goback.setVisible(true);
                     dispose(); 
                     }
                }
                x.close();
                System.out.println(found);

            }


        }

        catch(Exception e)
        {
            System.out.println("Error is "+ e);
        }
    }
}

1 Ответ

0 голосов
/ 27 июня 2018

Почему вы вводите здесь свои собственные переменные:

username = jTextField1.getText();
password = jPasswordField1.getText();


username = x.next();
password = x.next();

Это не имеет никакого смысла, и если вы

 if(username.trim().equals(username.trim()) && password.trim().equals(password.trim()))

Вы сравниваете свою переменную, и она всегда будет верной. Попробуйте создать новые переменные

String usernameFromTxt = x.next();
String passwordFromTxt = x.next();

if(usernameFromTxt .trim().equals(username.trim()) && usernameFromTxt .trim().equals(password.trim()))
...