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;
- public class SoftUniCoursePlanning {
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- List<String> schedule = new ArrayList<>();
- Arrays.asList(sc.nextLine().split(", ")).stream().distinct().forEach(schedule::add);
- String command = "";
- while (!"course start".equals(command = sc.nextLine())){
- String[] token = command.split(":");
- String exe = "-Exercise";
- switch (token[0]){
- case "Add":
- if (!schedule.contains(token[1])){
- schedule.add(token[1]);
- }
- break;
- case "Insert":
- if (!schedule.contains(token[1])){
- int index = Integer.parseInt(token[2]);
- if (index >= 0 && index < schedule.size()){
- schedule.add(index, token[1]);
- }
- }
- break;
- case "Remove":
- if (schedule.contains(token[1])){
- schedule.remove(schedule.indexOf(token[1]));
- }
- if (schedule.contains(token[1] + exe)){
- schedule.remove(schedule.indexOf(token[1] + exe));
- }
- break;
- case "Swap":
- if (schedule.contains(token[1]) && schedule.contains(token[2])) {
- int firstSwapIndex = schedule.indexOf(token[1]);
- int secondSwapIndex = schedule.indexOf(token[2]);
- schedule.set(secondSwapIndex, token[1]);
- schedule.set(firstSwapIndex, token[2]);
- if (schedule.contains(token[1] + exe)){
- schedule.remove(schedule.indexOf(token[1] + exe));
- schedule.add(schedule.indexOf(token[1]) + 1, token[1] + exe);
- }
- if (schedule.contains(token[2] + exe)){
- schedule.remove(schedule.indexOf(token[2] + exe));
- schedule.add(schedule.indexOf(token[2]) + 1, token[2] + exe);
- }
- }
- break;
- case "Exercise":
- if (schedule.contains(token[1]) && !schedule.contains(token[1] + exe)){
- schedule.add(schedule.indexOf(token[1]) + 1, token[1] + "-Exercise");
- }
- else if (!schedule.contains(token[1] + exe)){
- schedule.add(token[1]);
- schedule.add(token[1] + exe);
- }
- break;
- }
- }
- for (int i = 0; i < schedule.size(); i++){
- System.out.printf("%d.%s%n", i + 1, schedule.get(i));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment