Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Lists.Exercise;
- import java.util.*;
- import java.util.stream.Collectors;
- public class P10SoftUniCoursePlanning {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- List<String> schedule = Arrays
- .stream(scanner.nextLine().split(", "))
- .collect(Collectors.toList());
- String command = scanner.nextLine();
- while (!command.equals("course start")) {
- String[] commandElements = command.split(":");
- if (command.contains("Add")) {
- String lessonTitle = commandElements[1];
- if (!alreadyExists(schedule, lessonTitle)) {
- schedule.add(lessonTitle);
- }
- } else if (command.contains("Insert")) {
- String lessonTitle = commandElements[1];
- int index = Integer.parseInt(commandElements[2]);
- if (!alreadyExists(schedule, lessonTitle)) {
- schedule.add(index, lessonTitle);
- }
- } else if (command.contains("Remove")) {
- String lessonTitle = commandElements[1];
- if (alreadyExists(schedule, lessonTitle)) {
- schedule.remove(lessonTitle);
- }
- } else if (command.contains("Swap")) {
- String firstLessonTitle = commandElements[1];
- String secondLessonTitle = commandElements[2];
- if (alreadyExists(schedule, firstLessonTitle) && alreadyExists(schedule, secondLessonTitle)) {
- int firstIndex = findIndex(schedule, firstLessonTitle);
- int secondIndex = findIndex(schedule, secondLessonTitle);
- Collections.swap(schedule, firstIndex, secondIndex);
- if (exerciseExist(schedule, schedule.get(secondIndex))) {
- int exerciseIndex = findIndex(schedule, schedule.get(secondIndex) + "-Exercise") + 1;
- schedule.add(secondIndex + 1, schedule.get(secondIndex) + "-Exercise");
- schedule.remove(exerciseIndex);
- }
- if (exerciseExist(schedule, schedule.get(firstIndex))) {
- int oldExerciseIndex = findIndex(schedule, schedule.get(firstIndex) + "-Exercise") + 1;
- schedule.add(firstIndex + 1, schedule.get(firstIndex) + "-Exercise");
- schedule.remove(oldExerciseIndex);
- }
- }
- } else if (command.contains("Exercise")) {
- String lessonTitle = commandElements[1];
- if (alreadyExists(schedule,lessonTitle) && !exerciseExist(schedule,lessonTitle)) {
- int indexToAdd = findIndex(schedule,lessonTitle) + 1;
- schedule.add(indexToAdd, lessonTitle + "-Exercise");
- } else if (!alreadyExists(schedule,lessonTitle)) {
- schedule.add(lessonTitle);
- schedule.add(lessonTitle + "-Exercise");
- }
- }
- command = scanner.nextLine();
- }
- for (int i = 0; i < schedule.size(); i++) {
- System.out.printf(i + 1 + ".%s%n", schedule.get(i));
- }
- }
- private static boolean alreadyExists(List<String> schedule, String lessonTitle) {
- for (int i = 0; i < schedule.size(); i++) {
- if (schedule.get(i).equals(lessonTitle)) {
- return true;
- }
- }
- return false;
- }
- private static int findIndex(List<String> schedule, String lesson) {
- int index = 0;
- for (int i = 0; i < schedule.size(); i++) {
- if (lesson.equals(schedule.get(i))) {
- index = schedule.indexOf(schedule.get(i));
- break;
- }
- }
- return index;
- }
- private static boolean exerciseExist(List<String> schedule, String lesson) {
- String lessonExercise = lesson + "-Exercise";
- for (int i = 0; i < schedule.size(); i++) {
- if (lessonExercise.equals(schedule.get(i))) {
- return true;
- }
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement