проверка алгоритма входа - PullRequest
       1

проверка алгоритма входа

0 голосов
/ 12 февраля 2010

В настоящее время я застрял в том, как создать алгоритм входа в систему, который будет входить в систему пользователя на основе 2 объектов HashMap, а именно студентов и StaffMembers из класса DataStorage, я не знаю после получения ввода текста из LoginHandler (), что мне делать с ними, чтобы сравнить его с моим DataStorage.

/ * Класс DataStorage * /

public class DataStorage 
{
    HashMap<String, Student> students = new HashMap<String, Student>();  
    HashMap<String, Staff> staffMembers = new HashMap<String, Staff>();  
    //Default constructor
    public DataStorage(){
    }

    public void addStaffMember(Staff aAcc) 
    {
     staffMembers.put(aAcc.getAccID(),aAcc);
    }

    public void addStudentMember(Student aAcc)
    {
     students.put(aAcc.getAccID(),aAcc);
    }

   public Staff getStaffMember(Staff aAcc)
   {
   return staffMembers.get(aAcc.getAccID());
   }

   public Student getStudent(Student aAcc)
   {
    return students.get(aAcc.getAccID());
   }

   public Account authUser(String user, String pass)
   {

   }  
}

/ * Класс учетной записи * /

public class Account {

 private String name;
 private String department;
 private String username;
 private String password;
 private String accountID;
 public Account()
 {
 } 
    public Account(String nm,String dep,String user,String pass, String accID) 
    {
     name = nm;
       department = dep;
     username = user;
     password = pass;
     accountID = accID;

    }

    public void setName(String nm)
    {
     name = nm;
    }

    public String getName()
    {
     return name;
    }

    public void setDep(String d)
    {
     department = d;
    }

    public String getDep()
    {
     return department;
    }

    public void setUser(String u)
    {
     username = u;
    }
    public String getUser()
    {
     return username;
    }

    public void setPass(String p)
    {
     password = p;
    }

    public String getPass()
    {
     return password;
    }

    public void setAccID(String a)
    {
     accountID = a;
    }

    public String getAccID()
    {
     return accountID;
    }
}

/ * Персонал класса продлевает счет * /

public class Staff extends Account {

 public Staff(String n, String id, String dep, String user, String pass)
 {
  super(n, dep, user, pass, id);

 }

}

/ ** Ученик класса продлевает счет ** /

public class Student extends Account {

 private String studentNRIC;

 public Student(String n, String nr, String id, String dep, String user, String pass)
 {
  super(n, dep, user, pass, id);
  studentNRIC = nr;
 }

    public void setStudentNRIC(String nr)
    {
     studentNRIC = nr;
    }

    public String getStudentNRIC()
    {
     return studentNRIC;
    }

}

/ * класс loginHandler, который будет обрабатывать кнопку входа в систему /

class LoginHandler implements ActionListener
 {
  public void actionPerformed(ActionEvent e)
  {
   String tempUser;
   String tempPass;
   tempUser = txfUser.getText();
   tempPass = txfPass.getText();

  }

 }

1 Ответ

1 голос
/ 12 февраля 2010

Прежде всего вы должны изменить получатели в DataStorage, чтобы иметь параметры String, чтобы вы могли искать студента (или сотрудника) на основе идентификатора его учетной записи:

public Student getStudent(String aAcc)
{
    return students.get(aAcc);
}

Затем вы можете найти имя пользователя в actionPerformed, например

Student student = dataStorage.getStudent(tempUser);
if (student != null && student.getPass().equals(tempPass))
{
    // login successful
    ...
} else {
    // Login failed - display error message
}

Аналогично для сотрудников.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...