2013-03-23 3 views
0

죄송합니다. 여기에 막연한 사람이 있으면 내 코드도 게시 해 드리겠습니다. 나는 초심자이므로 나에게 쉽게 가라.클래스에서 어떻게 다른 클래스의 속성을 사용하여 다른 속성을 찾으십시오. (자바)

나는 student라는 클래스가 있으며, int id와 다른 String 이름을 가지고있다. GUI 용으로 다른 클래스를 만들었습니다. 팝업 창과 ID 필드가 있습니다. ID를 입력하고 해당 ID에서 이름을 가져 오려고합니다. 나는 이것에 대해 전혀 몰라서 몇 시간 동안 붙어 있었어. 따라 잡기가 좀 느려서 누군가 나를 도울 수 있습니까? 나는 상속을 잘하지 못합니다. (또한, 나는 두 개의 다른 클래스가 있지만, 나는 그들이 여기에 어떤 도움이 될 것이라고 생각하지 않습니다.

학생 CLASS

public class Student { 
    private int id; 
    private String name; 
    private ArrayList<Course> regCourses; 

    public int getId() { 
     return id; 
    } 

    public String getName() { 
     return name; 
    } 

    public ArrayList<Course> getRegCourses() { 
     return regCourses; 
    } 

    public Student(int i, String n) { 
     id = i; 
     name = n; 
     regCourses = new ArrayList<Course>(); 
    } 

    public String toString() { 
     String answer = id + " " + name + " - Registered Courses: "; 
     if (regCourses.size() == 0) 
      answer += "NONE"; 
     else { 
      for (int i = 0; i < regCourses.size(); i++) { 
       answer += regCourses.get(i).getDepartment().getId() 
         + regCourses.get(i).getCode(); 
       if (i != regCourses.size() - 1) 
        answer += ", "; 
      } 
     } 
     return answer; 
    } 

    public void registerFor(Course c) { 
     if (!isRegisteredInCourse(c)) { 
      // Register 
      regCourses.add(c); 
      if (!c.getClassList().contains(this)) { 
       c.getClassList().add(this); 
       if (!c.getDepartment().getStudentList().contains(this)) 
        c.getDepartment().getStudentList().add(this); 
      } 
     } 
    } 

    public boolean isRegisteredInCourse(Course c) { 
     return regCourses.contains(c); 
    } 
} 

을 그리고 여기 또 다른 클래스의 검색 코드입니다.

public class MainGUIWindow extends JFrame implements ActionListener { 
    JLabel studentID, studentName, currentRegCourses; 
    JButton search, regForCourse, withdraw; 
    JTextField idField, nameField; 
    JScrollPane courseScrollList; 

    public MainGUIWindow(String title) { 
     super(title); 

     //GUI STUFF 
    } 

    public void actionPerformed(ActionEvent e) { 
     if (e.getSource() == search) { 
      if (idField.getText() != null) { 
       int id = Integer.parseInt(idField.getText()); 
       Student temp = null; 
           //CODE GOES HERE 

      } 
     } 
    } 

    public static void main(String[] args) { 
     new MainGUIWindow("Student Administration System").setVisible(true); 

또한, 필요가있을 경우, 이러한 내 모든 자바 파일 http://www.filehosting.org/file/details/426633/JavaCode-SO.zip

편집 :.. 그들에 데이터가 내 테스트 프로그램은 2 개 클래스가 있습니다

답변

0

당신은

HashMap<Integer,Student> studentMap = new HashMap<>(); 

studentMap.put(matt.getId(), matt); 

..... 

Student s = studentMap.get(lookupId); /* Retrieve based on Student id*/ 
그들을 찾아 다음 해시 맵에서 학생을 저장하거나 트리 맵 및 수
관련 문제