У меня есть домашнее задание, в котором я должен сделать регистрационную форму в журнале, используя joptionpane, и получать входные данные только с помощью arrayList, это основная задача, но я застрял здесь: «Я сделал функцию для сопоставления значений в массиве-list, но он отображает неправильный вывод ".
Я пытался использовать разные циклы и разные места размещения для входных значений, но я не получил желаемого результата.
public class register {
ArrayList regUser;
register()
{
this.regUser=new ArrayList();
}
public void regUser(){
String regName = JOptionPane.showInputDialog(null, "Enter User Name:");
String regPass = JOptionPane.showInputDialog(null, "Enter User Password:");
userData p = new userData(regName,regPass);
regUser.add(p);
}
public void login()
{
String name = JOptionPane.showInputDialog(null, "Enter User Name:");
String password = JOptionPane.showInputDialog(null, "Enter User Password:");
for(int i=0; i<regUser.size(); i++)
{
userData k = (userData)regUser.get(i);
if(name.equals(k.name) && password.equals(k.password)){
JOptionPane.showMessageDialog(null, "Welcome to Rent A Car\n All cars data here....");
}
JOptionPane.showMessageDialog(null, "Wrong login info please try again");
}
Я принимаю, чтоМой метод входа в систему проверяет каждое целое в arraylist на предмет входного значения имени пользователя для входа в систему, и, если нет полного совпадения, отображается сообщение об ошибке. Но мои программы прекрасно работают для первых значений массива, но не работают для следующих значений.