Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.List;
- import java.util.Scanner;
- public class softUniCoursePlanning {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Scanner sc = new Scanner (System.in);
- String[] courses = sc.nextLine().split(", ");
- List<String> schedule = new ArrayList<>();
- for (String string : courses) {
- schedule.add(string);
- }
- String exercise = "";
- String command = sc.nextLine();
- while (!command.equals("course start")) {
- String[] tokens = command.split(":");
- switch (tokens[0]) {
- case "Add" : if (!schedule.contains(tokens[1])) {
- schedule.add(tokens[1]);
- } break;
- case "Insert" : if (!schedule.contains(tokens[1])) {
- int index = Integer.parseInt(tokens[2]);
- schedule.add(index , tokens[1]);
- } break;
- case "Remove" : if (schedule.contains(tokens[1])) {
- schedule.remove(tokens[1]);
- }
- String ex = tokens[1] + "-Exercise";
- if (schedule.contains(ex)) {
- schedule.remove(ex);
- }
- break;
- case "Swap" : String exOne = tokens[1]+ "-Exercise";
- String exTwo = tokens[2]+ "-Exercise";
- if (schedule.contains(tokens[1]) && schedule.contains(tokens[2])) {
- String firstElement = tokens[1];
- int firstIndex = schedule.indexOf(tokens[1]);
- String secondElement = tokens[2];
- int secondIndex = schedule.indexOf(tokens[2]);
- schedule.remove(tokens[1]);
- schedule.remove(tokens[2]);
- schedule.add(firstIndex, secondElement);
- schedule.add(secondIndex, firstElement);
- }
- if (schedule.contains(exOne) && schedule.contains(exTwo)) {
- //Collections.swap(schedule, schedule.indexOf(exOne), schedule.indexOf(exTwo));
- String firstElement = exOne;
- int firstIndex = schedule.indexOf(exOne);
- String secondElement = exTwo;
- int secondIndex = schedule.indexOf(exTwo);
- schedule.remove(exOne);
- schedule.remove(exTwo);
- schedule.add(firstIndex, secondElement);
- schedule.add(secondIndex, firstElement);
- } else if (schedule.contains(exOne) && !schedule.contains(exTwo)) {
- schedule.remove(exOne);
- String firstElement = tokens[1];
- schedule.add(schedule.indexOf(firstElement)+1, exOne);
- } else if (schedule.contains(exTwo) && !schedule.contains(exOne)) {
- schedule.remove(exTwo) ;
- String secondElement = tokens[2];
- schedule.add(schedule.indexOf(secondElement)+1, exTwo);
- } break;
- case "Exercise" : String ex1 = tokens[1] + "-Exercise";
- if (!schedule.contains(tokens[1])) {
- schedule.add(tokens[1]);
- schedule.add(ex1); break;
- } else if (schedule.contains(tokens[1]) && !schedule.contains(ex1)) {
- int index = schedule.indexOf(tokens[1]);
- schedule.add(index+1,ex1);
- } break;
- }
- command = sc.nextLine();
- }
- for (int i = 0; i < schedule.size(); i++) {
- System.out.println((i+1)+"."+schedule.get(i));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement