Go4Expert

Go4Expert (http://www.go4expert.com/)
-   Java (http://www.go4expert.com/forums/java/)
-   -   about many to many relationship? (http://www.go4expert.com/forums/relationship-t9222/)

angus203 10Mar2008 18:25

about many to many relationship?
 
could you help check this code.
why IT2399/3A & IT2399/3B same answer of lecturer name? it may be opposite.


Code:

import java.util.*;

class Course
{
        String CourseName;
        int NumberOfStudetn;

        Vector activity;

        public Course(String CourseName, int NumberOfStudetn){
                this.CourseName = CourseName;
                this.NumberOfStudetn = NumberOfStudetn;
               
                activity = new Vector();
        }

        public void addActivity(Activity act){
                activity.add(act);
        }

        public Enumeration getModule() {
                Vector module = new Vector();
                for (int i = 0; i < activity.size(); i++){
                        module.add(((Activity) activity.elementAt(i)).getModule());
                }
               
                return module.elements();
        }
}

class Lecturer
{
        String FirstName;
        String LastName;

        Vector activity;

        public Lecturer(String fn, String ln){
                FirstName = fn;
                LastName = ln;

                activity = new Vector();
        }

        public void addActivity(Activity act){
                activity.add(act);
        }

        public Enumeration getModule() {
                Vector module = new Vector();
                for (int i = 0; i < activity.size(); i++){
                        module.add(((Activity) activity.elementAt(i)).getModule());
                }
               
                return module.elements();
        }
}

class Module
{
        String ModuleName;
        int LectureTime;
        int TutorialTime;

        Vector activity;

        public Module(String ModuleName, int LectureTime, int TutorialTime){
                this.ModuleName = ModuleName;
                this.LectureTime = LectureTime;
                this.TutorialTime = TutorialTime;

                activity = new Vector();
        }

        public void addActivity(Activity act){
                activity.add(act);
        }

        public Enumeration getCourse() {
                Vector course = new Vector();
                for (int i = 0; i < activity.size(); i++){
                        course.add(((Activity) activity.elementAt(i)).getCourse());
                }
               
                return course.elements();
        }

        public Enumeration getLecturer() {
                Vector lecturer = new Vector();
                for (int i = 0; i < activity.size(); i++){
                        lecturer.add(((Activity) activity.elementAt(i)).getLecturer());
                }
               
                return lecturer.elements();
        }
}

class Activity
{
        Course course;
        Module module;
        Lecturer lecturer;
       
        public Activity(Course c, Module m, Lecturer l){
                course = c;
                module = m;
                lecturer = l;
        }

        static public void CreateActivity(Course c, Module m, Lecturer l){
                Activity act = new Activity(c, m, l);
                c.addActivity(act);
                m.addActivity(act);
                l.addActivity(act);

        }

        public Module getModule(){
                return module;
        }

        public Course getCourse(){
                return course;
        }

        public Lecturer getLecturer(){
                return lecturer;
        }
}

public class Main_Org {

        public static void main(String argv[]) {

                String courseNames[] = {"IT2399/3A", "IT2399/3B", "IT2399/1A", "IT2399/1B", "IT2399/2A"};
        String ModuleNames[] = {"J2ME", "J2SE", "ABAP", "C#", "VB"};
                String LecturerNames[] = {"Peter", "Jason", "Tom", "Jack", "Mark"};

                Course courses[] = new Course[5];
        Module modules[] = new Module[5];
                Lecturer lecturers[] = new Lecturer[LecturerNames.length];

                for (int i = 0; i < 5; i++) {
                        courses[i] = new Course(courseNames[i], 30);
                        modules[i] = new Module(ModuleNames[i], 1, 2);
                        lecturers[i] = new Lecturer(LecturerNames[i], LecturerNames[i]);
                       
                }

                Activity.CreateActivity(courses[0], modules[0], lecturers[3]);
                Activity.CreateActivity(courses[0], modules[1], lecturers[1]);
                Activity.CreateActivity(courses[0], modules[2], lecturers[2]);
                Activity.CreateActivity(courses[0], modules[3], lecturers[3]);
                Activity.CreateActivity(courses[0], modules[4], lecturers[4]);

                Activity.CreateActivity(courses[1], modules[0], lecturers[4]);
                Activity.CreateActivity(courses[1], modules[1], lecturers[3]);
                Activity.CreateActivity(courses[1], modules[2], lecturers[2]);
                Activity.CreateActivity(courses[1], modules[3], lecturers[1]);
                Activity.CreateActivity(courses[1], modules[4], lecturers[0]);
               

                for (int i = 0; i < courses.length; i++ )
                {
               
                        Enumeration e = courses[i].getModule();
                        while (e.hasMoreElements())
                        {
                                Module mod = (Module)e.nextElement();
                                String name = ((Lecturer)(mod.getLecturer().nextElement())).FirstName;        // why IT2399/3A & IT2399/3B same answer of lecturer name. it may be opposite.
                               
                                System.out.println(courses[i].CourseName + ": " + mod.ModuleName + " teach by " + name );
                        }
                        System.out.println();
                }

        }

}



All times are GMT +5.5. The time now is 01:45.