Объединение таблиц в синтаксическом анализе (Java) - PullRequest
0 голосов
/ 23 января 2012

У меня есть эти таблицы в моем блокноте, и я получаю доступ к блокноту с моего Java (GWT) Мне нужны поля родительский код и имя учителя из таблицы. Интервью: Я правильно получаю родительский код, но проблема в том, что TeacherName отсутствует в таблице интервью, мне нужно получить имя учителя из таблицы учителя. Как я могу присоединиться?

Спасибо

     ##Teachers
     #teacherId     teacherCode       teacherName         roomCode  
     56750              AC         Langton, Wylie          4CJKH    
     56751              AF         Nestler, Shannae        FTEJH    
     56752              AH         O'connell, Shannae      Q7STH

     ##Interviews
     #parentCode             studentKey yearLevel         teacherCode
     parentof.400052328     400052328      8                    AH              
     parentof.400052328     400052328      8                    KR      
     parentof.400052328     400052328      8                    NAt 

Код для получения значений из таблицы выше

     public ArrayList<Interviews> getParent() throws  Exception{

             ArrayList<Interviews> interviewList = new ArrayList<Interviews>();

             int interviewStartLine = 9753 ;
             int interviewEndLine =   9794 ;


                  try {
            FileInputStream fstream = new FileInputStream("c:/work/data1.txt");
            DataInputStream in = new DataInputStream(fstream);
            BufferedReader br = new BufferedReader(new InputStreamReader(in));
            String strLine ="";
              int j =0;
            for(int i = 0 ; i<interviewStartLine ; i++){

                j++;
                br.readLine();
                if(j==9753){
                    for(int line = j ; line<interviewEndLine ; line++){

                        strLine = br.readLine().trim();
                        if ((strLine.length()!=0) && (strLine.charAt(0)!='#')) {
                            String[] teachers = strLine.split("\\s+");
                            System.out.println(strLine);
                            Interviews interview = new Interviews();
                            interview.setParentCode(teachers[3]);
                            interview.setTime(teachers[5]);
                            interviewList.add(interview);


                        }}}


        }
            in.close();
        } catch (Exception e) {// Catch exception if any
            System.err.println("Error: " + e.getMessage());
        }

        return interviewList;
    }

Класс интервью:

        private String parentCode;
 private String time;
 private Students studentName;
 private Teachers teacherName;


public String getParentCode() {
    return parentCode;
}

public void setParentCode(String parentCode) {
    this.parentCode = parentCode;
}

public String getTime() {
    return time;
}

public void setTime(String time) {
    this.time = time;
}

1 Ответ

0 голосов
/ 23 января 2012

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

class Teacher {

    private int ID;
    private String Code;
    private String Name;

// Constructor + accessors ...

}

То же самое касается Интервью, который является классом, содержащим ссылку на Учителя

class Interview {

    private int studentKey;
    private int yearLevel;
    private Teacher teacher;

    // Constructor + accessors ...

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