Exemplo n.º 1
0
 private void placeTheoryLecture(Lecture lecture, ArrayList<ClassRoom> rooms2) {
   // TODO Auto-generated method stub
   int size = lecture.getStudentGroup().getSize();
   String dept = lecture.getStudentGroup().getDepartment();
   boolean invalid = true;
   ClassRoom room = null;
   Collections.shuffle(rooms2);
   while (invalid) {
     room = getBestRoom(size, rooms2);
     if (room.getDepartment().equalsIgnoreCase(dept)) {
       invalid = false;
       Collections.shuffle(rooms2);
     } else {
       Collections.shuffle(rooms2);
     }
   }
   ArrayList<Day> weekdays = room.getWeek().getWeekDays();
   Iterator<Day> daysIterator = weekdays.iterator();
   while (daysIterator.hasNext()) {
     Day day = daysIterator.next();
     ArrayList<TimeSlot> timeslots = day.getTimeSlot();
     Iterator<TimeSlot> timeslotIterator = timeslots.iterator();
     while (timeslotIterator.hasNext()) {
       TimeSlot lecture2 = timeslotIterator.next();
       if (lecture2.getLecture() == null) {
         lecture2.setLecture(lecture);
         return;
       }
     }
   }
 }
Exemplo n.º 2
0
 public void generateIndiv() {
   for (int i = 0; i < slots.length; i++) {
     for (int j = 0; j < slots[i].length; j++) {
       int room = r.nextInt(30);
       int subject = r.nextInt(Const.lessons.length);
       String subj = Const.lessons[subject];
       String teach = "";
       int teacher = 0;
       try {
         teacher = r.nextInt(Const.teachersAndLessons.get(subj).length);
         teach = Const.teachersAndLessons.get(subj)[teacher];
       } catch (Exception e) {
         teach = "Your major's teacher";
       }
       if (Math.random() < 0.02 && free < 2) {
         slots[i][j] = TimeSlot.freePeriod(i, j);
         free++;
       } else {
         if (subj != "Math" && subj != "English")
           slots[i][j] = new TimeSlot(i, j, room, Const.lessons[subject], teach);
         else {
           slots[i][j] = new TimeSlot(i, j, room, Const.lessons[subject], "Your teacher");
         }
       }
     }
   }
 }
Exemplo n.º 3
0
 private boolean checkOccupiedRoom(ClassRoom tempRoom, ArrayList<ClassRoom> rooms2) {
   // TODO Auto-generated method stub
   for (Iterator<ClassRoom> roomsIterator = rooms2.iterator(); roomsIterator.hasNext(); ) {
     ClassRoom room = roomsIterator.next();
     if (room.equals(tempRoom)) {
       ArrayList<Day> weekdays = room.getWeek().getWeekDays();
       Iterator<Day> daysIterator = weekdays.iterator();
       while (daysIterator.hasNext()) {
         Day day = daysIterator.next();
         ArrayList<TimeSlot> timeslots = day.getTimeSlot();
         Iterator<TimeSlot> timeslotIterator = timeslots.iterator();
         while (timeslotIterator.hasNext()) {
           TimeSlot lecture = timeslotIterator.next();
           if (lecture.getLecture() == null) {
             return false;
           }
         }
       }
       return true;
     }
   }
   return false;
 }