Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package FundamentalsModule.ListExcercises;
- import java.util.*;
- import java.util.stream.Collectors;
- public class SoftUniCoursePlanning {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- List<String> schedule = getList(scanner);
- String input = scanner.nextLine();
- while (!input.equals("course start")) {
- List<String> commands = Arrays.stream(input.split("\\:")).collect(Collectors.toList());
- String course = commands.get(1);
- switch (commands.get(0)) {
- case "Add":
- if (!schedule.contains(course)) {
- schedule.add(course);
- }
- break;
- case "Insert":
- int index = Integer.parseInt(commands.get(2));
- if (!schedule.contains(course) && index >= 0 && index < schedule.size()) {
- schedule.add(index, course);
- } else if (index == schedule.size()) {
- schedule.add(course);
- }
- break;
- case "Remove":
- schedule.remove(course);
- schedule.remove(course + "-Exercise");
- break;
- case "Swap":
- String courseToSwap = commands.get(2);
- if (schedule.contains(course) && schedule.contains(courseToSwap)) {
- swapCourses(schedule, course, courseToSwap);
- }
- break;
- case "Exercise":
- if (schedule.contains(course)) {
- schedule.add(schedule.indexOf(course) + 1, course + "-Exercise");
- } else {
- schedule.add(course);
- schedule.add(course + "-Exercise");
- }
- break;
- }
- input = scanner.nextLine();
- }
- PrintResult(schedule);
- }
- private static void PrintResult(List<String> resultSchedule) {
- int i = 1;
- for (String s :
- resultSchedule) {
- System.out.println(i + "." + s);
- i++;
- }
- }
- private static void swapCourses(List<String> resultSchedule, String course, String courseToSwap) {
- Collections.swap(resultSchedule, resultSchedule.indexOf(course), resultSchedule.indexOf(courseToSwap));
- if (resultSchedule.contains( course+"-Exercise") && resultSchedule.contains(courseToSwap+"-Exercise")) {
- Collections.swap(resultSchedule, resultSchedule.indexOf(course), resultSchedule.indexOf( course+"-Exercise"));
- } else if (resultSchedule.contains( course+"-Exercise")) {
- resultSchedule.remove( course+"-Exercise");
- resultSchedule.add(resultSchedule.indexOf(course) + 1, course+"-Exercise");
- } else if (resultSchedule.contains(courseToSwap+"-Exercise")) {
- resultSchedule.remove(courseToSwap+"-Exercise");
- resultSchedule.add(resultSchedule.indexOf(courseToSwap) + 1, courseToSwap+"-Exercise");
- }
- }
- private static List<String> getList(Scanner scanner) {
- return Arrays.stream(scanner.nextLine().split(", ")).collect(Collectors.toList());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement