Momentan habe ich eine Textdatei, die den Benutzernamen und das Passwort enthält und in ein Objekt geschrieben hat. Wenn Sie sich jedoch anmelden, wird der Array-Index außerhalb des zulässigen Bereichs angezeigt. Kann nicht sehen, was der Fehler ist.Wie suche ich ein Objekt, um zu sehen, ob es einen Benutzernamen und ein Passwort enthält?
Object[][] data = new Object[UserDetails.size()][2];
for(int i=1; i<UserDetails.size(); i++) {
data[i][0] = UserDetails.get(i)[0];
data[i][1] = UserDetails.get(i)[1];
System.out.println(data[i][0]);
System.out.println(data[i][1]);
boolean match = false;
boolean limit = false;
int i=1;
do{
if((data[i][0] == username) && (data[i][1] == password)){
match = true;
UsernameField.setText(null);
PasswordField.setText(null);
close();
TablePage table;
table = new TablePage(username);
table.setVisible(true);
JOptionPane.showMessageDialog(null, "Sucessfully Logged In","Login Success",JOptionPane.INFORMATION_MESSAGE);
close();
}else{
if(i == UserDetails.size()){
limit=true;
}
i++;
}
} while(match==false || limit == true);
Frage ist Bit unklar mit einigen Variablen 'UserDetails' sind nicht richtig im Code veröffentlicht. Es kann hilfreich sein, wenn Sie den gesamten Code posten könnten. –
nicht hart Ihre Array-Indizes codiert. – Omore
Warum benutzen Sie solch eine schreckliche Datenstruktur? Was Sie wirklich brauchen, ist ein Array von 'Paar'? –
EJP