Advertisement
steef_br

SoftUniCoursePlanning

May 27th, 2021
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.42 KB | None | 0 0
  1. package FundamentalsModule.ListExcercises;
  2.  
  3. import java.util.*;
  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.  
  10. List<String> schedule = getList(scanner);
  11.  
  12.  
  13. String input = scanner.nextLine();
  14.  
  15. while (!input.equals("course start")) {
  16.  
  17. List<String> commands = Arrays.stream(input.split("\\:")).collect(Collectors.toList());
  18.  
  19.  
  20. String course = commands.get(1);
  21.  
  22.  
  23. switch (commands.get(0)) {
  24.  
  25. case "Add":
  26.  
  27. if (!schedule.contains(course)) {
  28. schedule.add(course);
  29. }
  30. break;
  31.  
  32. case "Insert":
  33. int index = Integer.parseInt(commands.get(2));
  34. if (!schedule.contains(course) && index >= 0 && index < schedule.size()) {
  35.  
  36. schedule.add(index, course);
  37.  
  38. } else if (index == schedule.size()) {
  39.  
  40. schedule.add(course);
  41.  
  42. }
  43. break;
  44. case "Remove":
  45. schedule.remove(course);
  46. schedule.remove(course + "-Exercise");
  47.  
  48. break;
  49. case "Swap":
  50. String courseToSwap = commands.get(2);
  51. if (schedule.contains(course) && schedule.contains(courseToSwap)) {
  52. swapCourses(schedule, course, courseToSwap);
  53. }
  54.  
  55. break;
  56. case "Exercise":
  57.  
  58. if (schedule.contains(course)) {
  59.  
  60. schedule.add(schedule.indexOf(course) + 1, course + "-Exercise");
  61. } else {
  62. schedule.add(course);
  63. schedule.add(course + "-Exercise");
  64. }
  65.  
  66. break;
  67.  
  68. }
  69.  
  70.  
  71. input = scanner.nextLine();
  72. }
  73.  
  74. PrintResult(schedule);
  75.  
  76.  
  77. }
  78.  
  79. private static void PrintResult(List<String> resultSchedule) {
  80. int i = 1;
  81. for (String s :
  82. resultSchedule) {
  83.  
  84. System.out.println(i + "." + s);
  85. i++;
  86. }
  87. }
  88.  
  89.  
  90. private static void swapCourses(List<String> resultSchedule, String course, String courseToSwap) {
  91.  
  92. Collections.swap(resultSchedule, resultSchedule.indexOf(course), resultSchedule.indexOf(courseToSwap));
  93.  
  94. if (resultSchedule.contains( course+"-Exercise") && resultSchedule.contains(courseToSwap+"-Exercise")) {
  95. Collections.swap(resultSchedule, resultSchedule.indexOf(course), resultSchedule.indexOf( course+"-Exercise"));
  96. } else if (resultSchedule.contains( course+"-Exercise")) {
  97. resultSchedule.remove( course+"-Exercise");
  98. resultSchedule.add(resultSchedule.indexOf(course) + 1, course+"-Exercise");
  99.  
  100. } else if (resultSchedule.contains(courseToSwap+"-Exercise")) {
  101. resultSchedule.remove(courseToSwap+"-Exercise");
  102. resultSchedule.add(resultSchedule.indexOf(courseToSwap) + 1, courseToSwap+"-Exercise");
  103. }
  104.  
  105. }
  106.  
  107.  
  108. private static List<String> getList(Scanner scanner) {
  109.  
  110. return Arrays.stream(scanner.nextLine().split(", ")).collect(Collectors.toList());
  111. }
  112. }
  113.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement