SvetlanPetrova

SoftUniCoursePlanning

Jun 29th, 2021
627
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     import java.util.Arrays;
  2.     import java.util.List;
  3.     import java.util.Scanner;
  4.     import java.util.stream.Collectors;
  5.  
  6.     public class SoftUniCoursePlanning {
  7.         public static void main(String[] args) {
  8.             Scanner scanner = new Scanner(System.in);
  9.             List<String> schedule = Arrays.stream(scanner.nextLine().split(", ")).collect(Collectors.toList());
  10.  
  11.             String input = scanner.nextLine();
  12.  
  13.             while(!input.equals("course start")) {
  14.                 String[] tokens = input.split(":");
  15.                 String command = tokens[0];
  16.                 String lessonTitle = tokens[1];
  17.                 switch(command) {
  18.                     case "Add":
  19.                         //"Add:Databases" -> ["Add", "Databases"]
  20.                         if(!schedule.contains(lessonTitle)) {
  21.                             schedule.add(lessonTitle);
  22.                         }
  23.                         break;
  24.                     case "Insert":
  25.                         //Insert:Arrays:0 -> ["Insert", "Arrays", "0"]
  26.                         int index = Integer.parseInt(tokens[2]);
  27.                         if(!schedule.contains(lessonTitle)) {
  28.                             schedule.add(index, lessonTitle);
  29.                         }
  30.                         break;
  31.                     case "Remove":
  32.                         if(schedule.contains(lessonTitle)) {
  33.                             schedule.remove(lessonTitle);
  34.                         }
  35.                         int indexLesson = schedule.indexOf(lessonTitle);
  36.                         if(schedule.get(indexLesson + 1).equals(lessonTitle+"-Exercise")) {
  37.                             schedule.remove(indexLesson + 1);
  38.                         }
  39.                         break;
  40.                     case "Swap":
  41.                         //Arrays, Lists, Methods, Databases, Databases-Exercise
  42.                         //Swap:Lists:Databases
  43.                         String lessonTitle2 = input.split(":")[2];
  44.                         if (schedule.contains(lessonTitle) && schedule.contains(lessonTitle2)) {
  45.                             int lesson1Index = schedule.indexOf(lessonTitle);
  46.                             int lesson2Index = schedule.indexOf(lessonTitle2);
  47.                             schedule.set(lesson1Index, lessonTitle2);
  48.                             schedule.set(lesson2Index, lessonTitle);
  49.  
  50.                             String exOne = lessonTitle + "-Exercise";
  51.                             String exTwo = lessonTitle2 + "-Exercise";
  52.                             if (schedule.contains(exOne)) {
  53.                                 schedule.remove(schedule.indexOf(exOne));
  54.                                 schedule.add(schedule.indexOf(lessonTitle + 1), exOne);
  55.                             }
  56.                             if (schedule.contains(exTwo)) {
  57.                                 schedule.remove(schedule.indexOf(exTwo));
  58.                                 schedule.add(schedule.indexOf(lessonTitle2) + 1, exTwo);
  59.                             }
  60.                         }
  61.                         break;
  62.                     case "Exercise":
  63.                         //упражнение -> Objects-Exercise
  64.                         //[Data Types, Objects, Lists]
  65.                         String exercise = lessonTitle + "-Exercise";
  66.                         //слагаме упражнение ако има лекция и го няма
  67.                         int indexLessonTitle = schedule.indexOf(lessonTitle);
  68.                         // what is this "if" for??
  69.                         if(schedule.contains(lessonTitle)) {
  70.                             //има ли упражнение
  71.                             if(indexLessonTitle == schedule.size() - 1) {
  72.                                 schedule.add(indexLessonTitle + 1, exercise);
  73.                             } else  if(!schedule.get(indexLessonTitle + 1).equals(exercise)) {
  74.                                 schedule.add(indexLessonTitle + 1, exercise);
  75.                             }
  76.                         } else {
  77.                             schedule.add(lessonTitle);
  78.                             schedule.add(exercise);
  79.                         }
  80.                         break;
  81.                 }
  82.  
  83.                 input = scanner.nextLine();
  84.             }
  85.  
  86.             printList(schedule);
  87.         }
  88.  
  89.         private static void printList(List<String> elements) {
  90.             int count = 1;
  91.             for (String element : elements) {
  92.                 System.out.println(count + "." + element);
  93.                 count++;
  94.  
  95.             }
  96.         }
  97.     }
  98.  
Advertisement
Add Comment
Please, Sign In to add comment