Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- import java.util.Scanner;
- import java.util.stream.Collectors;
- public class CoursePlanning {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- List<String> result = new ArrayList<>();
- List<String> lessons = Arrays.stream(scanner.nextLine()
- .split(", "))
- .collect(Collectors.toList());
- String initialScheduleLessons = scanner.nextLine();
- while (!"course start".equals(initialScheduleLessons)) {
- String[] commandArr = initialScheduleLessons.split(":");
- String command = commandArr[0];
- switch (command) {
- case "Add":
- result = addLessons(lessons, commandArr[1]);
- break;
- case "Insert":
- result = insertLessons(lessons, commandArr[1], Integer.parseInt(commandArr[2]));
- break;
- case "Remove":
- result = removeLessons(lessons, commandArr[1]);
- break;
- case "Swap":
- result = swapLessons(lessons, commandArr[1], commandArr[2]);
- break;
- case "Exercise":
- result = exerciseLessons(lessons, commandArr[1]);
- break;
- }
- initialScheduleLessons = scanner.nextLine();
- }
- for (int i = 0; i < result.size(); i++) {
- System.out.println(i + 1 + "." + result.get(i));
- }
- }
- private static List<String> addLessons(List<String> lessons, String lessonTitle) {
- lessons.add(lessonTitle);
- return lessons;
- }
- private static List<String> insertLessons(List<String> lessons, String lessonTitle, int index) {
- if (lessons.contains(lessonTitle)) return lessons;
- lessons.add(index, lessonTitle);
- return lessons;
- }
- private static List<String> removeLessons(List<String> lessons, String lessonTitle) {
- String nameOfLesson = lessonTitle;
- String nameOfLessonExercise = lessonTitle + "-Exercise";
- for (int i = 0; i < lessons.size(); i++) {
- String searchLesseon = lessons.get(i);
- if (searchLesseon.equals(nameOfLesson)) {
- lessons.remove(i);
- }
- }
- for (int i = 0; i < lessons.size(); i++) {
- String searchLesseon = lessons.get(i);
- if (searchLesseon.equals(nameOfLessonExercise)) {
- lessons.remove(i);
- }
- }
- return lessons;
- }
- private static List<String> swapLessons(List<String> lessons, String lesson, String secondLesson) {
- int index1Lesson = lessons.indexOf(lesson);
- int index2secondLesson = lessons.indexOf(secondLesson);
- if (index1Lesson != -1 && index2secondLesson != -1) {
- lessons.set(index2secondLesson, lesson);
- lessons.set(index1Lesson, secondLesson);
- if (index1Lesson + 1 < lessons.size() && lessons.get(index1Lesson + 1).contains(lesson + "-Exercise")) {
- String course = lessons.get(index1Lesson + 1);
- lessons.remove(index1Lesson + 1);
- lessons.add(index2secondLesson + 1, course);
- }
- if (index2secondLesson + 1 < lessons.size() && lessons.get(index2secondLesson + 1).contains(secondLesson + "-Exercise")) {
- String course = lessons.get(index2secondLesson + 1);
- lessons.remove(index2secondLesson + 1);
- lessons.add(index1Lesson + 1, course);
- }
- }
- return lessons;
- }
- private static List<String> exerciseLessons(List<String> lessons, String lessonTitle) {
- String lessonTitleExer = lessonTitle + "-Exercise";
- if (!(lessons.contains(lessonTitle))) {
- lessons.add(lessonTitle);
- lessons.add(lessonTitleExer);
- } else if (lessons.contains(lessonTitle)) {
- if (!lessons.contains(lessonTitleExer)) {
- int position = lessons.indexOf(lessonTitle);
- lessons.add(position + 1, lessonTitleExer);
- }
- }
- return lessons;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement