Advertisement
Guest User

Untitled

a guest
Jun 24th, 2019
542
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.02 KB | None | 0 0
  1. import java.util.*;
  2.  
  3. public class SoftuniCoursePlanning {
  4. public static void main(String[] args) {
  5.  
  6. Scanner sc = new Scanner(System.in);
  7. List<String> schedule = new ArrayList<>();
  8. Arrays.asList(sc.nextLine().split(", ")).stream().distinct().forEach(schedule::add);
  9.  
  10. String command = "";
  11.  
  12. while (!"course start".equals(command = sc.nextLine())) {
  13. String[] tokens = command.split(":");
  14. switch (tokens[0]) {
  15. case "Add":
  16. if (!schedule.contains(tokens[1])) {
  17. schedule.add(tokens[1]);
  18. }
  19. break;
  20. case "Insert":
  21. if (!schedule.contains(tokens[1])) {
  22. int index = Integer.parseInt(tokens[2]);
  23. if (index >= 0 && index < schedule.size()) {
  24. schedule.add(index, tokens[1]);
  25. }
  26.  
  27. }
  28. break;
  29. case "Remove":
  30.  
  31. schedule.remove(tokens[1]);
  32. String ex = tokens[1] + "-Exercise";
  33. schedule.remove(ex);
  34.  
  35.  
  36. break;
  37. case "Swap":
  38. String exOne = tokens[1] + "-Exercise";
  39. String exTwo = tokens[2] + "-Exercise";
  40.  
  41. if (schedule.contains(tokens[1]) && schedule.contains(tokens[2])) {
  42. String firstElement = tokens[1];
  43. int firstIndex = schedule.indexOf(tokens[1]);
  44. String secondElement = tokens[2];
  45. int secondIndex = schedule.indexOf(tokens[2]);
  46. schedule.set(firstIndex, secondElement);
  47. schedule.set(secondIndex, firstElement);
  48. if (schedule.contains(exOne)) {
  49. schedule.remove(schedule.indexOf(exOne));
  50. schedule.add(schedule.indexOf(tokens[1]) + 1, exOne);
  51. }
  52. if (schedule.contains(exTwo)) {
  53. schedule.remove(schedule.indexOf(exTwo));
  54. schedule.add(schedule.indexOf(tokens[2]) + 1, exTwo);
  55. }
  56. }
  57.  
  58.  
  59. break;
  60. case "Exercise":
  61. String ex1 = tokens[1] + "-Exercise";
  62. if (!schedule.contains(tokens[1])) {
  63. schedule.add(tokens[1]);
  64. schedule.add(ex1);
  65.  
  66. } else if (schedule.contains(tokens[1]) && !schedule.contains(ex1)) {
  67. int index = schedule.indexOf(tokens[1]);
  68. schedule.add(index + 1, ex1);
  69. }
  70. break;
  71. }
  72. }
  73. for (int i = 0; i < schedule.size(); i++) {
  74. System.out.println((i + 1) + "." + schedule.get(i));
  75. }
  76. }
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement