Advertisement
mirozspace

SCP-66

Feb 22nd, 2019
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.65 KB | None | 0 0
  1. package JavaBasicTech.L16_Lists_Exercise;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Arrays;
  5. import java.util.List;
  6. import java.util.Scanner;
  7. import java.util.stream.Collectors;
  8.  
  9. public class Pr10SoftUniCoursePlanning {
  10. public static void main(String[] args) {
  11. Scanner scanner = new Scanner(System.in);
  12. List<String> result = new ArrayList<>();
  13. List<String> lessons = Arrays.stream(scanner.nextLine()
  14. .split(", "))
  15. .collect(Collectors.toList());
  16. String initialScheduleLessons = scanner.nextLine();
  17. while (!"course start".equals(initialScheduleLessons)) {
  18. String[] commandArr = initialScheduleLessons.split(":");
  19. String command = commandArr[0];
  20. switch (command) {
  21. case "Add":
  22. result = addLessons(lessons, commandArr[1]);
  23. break;
  24. case "Insert":
  25. result = insertLessons(lessons, commandArr[1], Integer.parseInt(commandArr[2]));
  26. break;
  27. case "Remove":
  28. result = removeLessons(lessons, commandArr[1]);
  29. break;
  30. case "Swap":
  31. result = swapLessons(lessons, commandArr[1], commandArr[2]);
  32. break;
  33. case "Exercise":
  34. result = exerciseLessons(lessons, commandArr[1]);
  35. break;
  36. }
  37. initialScheduleLessons = scanner.nextLine();
  38. }
  39. for (int i = 0; i < result.size(); i++) {
  40. System.out.println(i + 1 + "." + result.get(i));
  41. }
  42. }
  43.  
  44. private static List<String> addLessons(List<String> lessons, String lessonTitle) {
  45. lessons.add(lessonTitle);
  46. return lessons;
  47. }
  48.  
  49. private static List<String> insertLessons(List<String> lessons, String lessonTitle, int index) {
  50. if (lessons.contains(lessonTitle)) return lessons;
  51. lessons.add(index, lessonTitle);
  52. return lessons;
  53. }
  54.  
  55. private static List<String> removeLessons(List<String> lessons, String lessonTitle) {
  56. String nameOfLesson = lessonTitle;
  57. String nameOfLessonExercise = lessonTitle + "-Exercise";
  58. for (int i = 0; i < lessons.size(); i++) {
  59. String searchLesseon = lessons.get(i);
  60. if (searchLesseon.equals(nameOfLesson)) {
  61. lessons.remove(i);
  62. }
  63. }
  64. for (int i = 0; i < lessons.size(); i++) {
  65. String searchLesseon = lessons.get(i);
  66. if (searchLesseon.equals(nameOfLessonExercise)) {
  67. lessons.remove(i);
  68. }
  69. }
  70. return lessons;
  71. }
  72.  
  73. private static List<String> swapLessons(List<String> lessons, String lessonFirst, String lessonSecond) {
  74. int indexLessonFirst = lessons.indexOf(lessonFirst);
  75. int indexLessonSecond = lessons.indexOf(lessonSecond);
  76. String lessonFirstExercise = lessonFirst + "-Exercise";
  77. String lessonSecondExercise = lessonSecond + "-Exercise";
  78.  
  79. if (!lessons.contains(lessonFirst)) {
  80. return lessons;
  81. }
  82. if (!lessons.contains(lessonSecond)) {
  83. return lessons;
  84. }
  85.  
  86. if (lessons.contains(lessonFirst)) {
  87. lessons.add(indexLessonSecond, lessonFirst);
  88. if (lessons.contains(lessonFirstExercise)) {
  89. lessons.add(indexLessonSecond + 1, lessonFirstExercise);
  90. }
  91. lessons.remove(indexLessonFirst);
  92. }
  93.  
  94. boolean isContainsEx = false;
  95. if (lessons.contains(lessonSecond)) {
  96. lessons.remove(lessonSecond);
  97. if (lessons.contains(lessonSecondExercise)) {
  98. isContainsEx = true;
  99. lessons.remove(lessonSecondExercise);
  100. }
  101. lessons.add(indexLessonFirst, lessonSecond);
  102. if (isContainsEx){
  103. lessons.add(indexLessonFirst + 1, lessonSecondExercise);
  104. }
  105. }
  106. return lessons;
  107. }
  108.  
  109. private static List<String> exerciseLessons(List<String> lessons, String lessonTitle) {
  110.  
  111. String lessonTitleExer = lessonTitle + "-Exercise";
  112. if (!(lessons.contains(lessonTitle))) {
  113. lessons.add(lessonTitle);
  114. lessons.add(lessonTitleExer);
  115. } else if (lessons.contains(lessonTitle)) {
  116. if (!lessons.contains(lessonTitleExer)) {
  117. int position = lessons.indexOf(lessonTitle);
  118. lessons.add(position + 1, lessonTitleExer);
  119. }
  120. }
  121. return lessons;
  122. }
  123. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement