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();
		}

	}

}