Advertisement
Guest User

Untitled

a guest
Jun 12th, 2021
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.31 KB | None | 0 0
  1. package bgstudents;
  2. import java.lang.reflect.Array;
  3. import java.util.*;
  4. import java.util.stream.Collectors;
  5.  
  6. public class main {
  7. public static void main(String[] args) {
  8. Scanner input = new Scanner(System.in);
  9. List<String> Lessons = Arrays.stream(input.nextLine().split(", ")).collect(Collectors.toList());
  10.  
  11. String newInput = input.nextLine();
  12.  
  13. while(!newInput.equalsIgnoreCase("course start")){
  14. List <String> Split = Arrays.stream(newInput.split("\\:+")).collect(Collectors.toList());
  15.  
  16. String Command = Split.get(0);
  17. switch(Command){
  18. case"Add":
  19. String lessonTitle = Split.get(1);
  20. if(!Lessons.contains(lessonTitle)){
  21. Lessons.add(lessonTitle);
  22. }
  23. break;
  24. case"Insert":
  25. lessonTitle = Split.get(1);
  26. int Index = Integer.parseInt(Split.get(2));
  27.  
  28. if(!Lessons.contains(lessonTitle) && (Index>=0 && Index<Lessons.size())){
  29. Lessons.add(Index,lessonTitle);
  30. }
  31. break;
  32. case"Remove":
  33. lessonTitle = Split.get(1);
  34. String exerciseTitle = Split.get(1)+"-Exercise";
  35.  
  36. if(Lessons.contains(lessonTitle) && Lessons.contains(exerciseTitle)){
  37. Lessons.remove(lessonTitle);
  38. Lessons.remove(exerciseTitle);
  39. }
  40. if(Lessons.contains(lessonTitle)){
  41. Lessons.remove(lessonTitle);
  42. }
  43.  
  44. if(Lessons.contains(exerciseTitle)){
  45. Lessons.remove(exerciseTitle);
  46. }
  47.  
  48. break;
  49. case"Swap":
  50. String lessonTitle1 = Split.get(1);
  51. String lessonTitle2 = Split.get(2);
  52.  
  53. if(Lessons.contains(lessonTitle1) && Lessons.contains(lessonTitle2)) {
  54. int indexOfFirst = Lessons.indexOf(lessonTitle1);
  55. int indexOfSecond = Lessons.indexOf(lessonTitle2);
  56.  
  57. String tempValue = Lessons.get(indexOfFirst);
  58.  
  59. Lessons.set(indexOfFirst, lessonTitle2);
  60. Lessons.set(indexOfSecond, tempValue);
  61.  
  62. if(Lessons.contains(indexOfFirst+"-Exercise")){
  63. String tempName = indexOfFirst+"-Exercise";
  64. Lessons.remove(indexOfFirst + "-Exercise");
  65.  
  66. if(indexOfSecond+1<=Lessons.size()-1){
  67. Lessons.add(indexOfSecond+1,tempName);
  68. }else{
  69. Lessons.add(tempName);
  70. }
  71. }
  72.  
  73. if(Lessons.contains(indexOfSecond+"-Exercise")){
  74. String tempName = indexOfSecond+"-Exercise";
  75. Lessons.remove(indexOfSecond + "-Exercise");
  76.  
  77. if(indexOfFirst+1<=Lessons.size()-1){
  78. Lessons.add(indexOfFirst+1,tempName);
  79. }else{
  80. Lessons.add(tempName);
  81. }
  82. }
  83. }
  84. break;
  85. case"Exercise":
  86. lessonTitle = Split.get(1);
  87. String newValue = lessonTitle+"-Exercise";
  88.  
  89. if(Lessons.contains(lessonTitle)){
  90. int indexOf = Lessons.indexOf(lessonTitle);
  91. if(indexOf<=Lessons.size()-1) {
  92. Lessons.add(indexOf + 1, newValue);
  93. }else{
  94. Lessons.add(newValue);
  95. }
  96. }else{
  97. Lessons.add(lessonTitle);
  98. Lessons.add(newValue);
  99. }
  100. }
  101. newInput=input.nextLine();
  102. }
  103.  
  104. for(int i=1;i<=Lessons.size();i++){
  105. System.out.printf("%s.%s\n",i,Lessons.get(i-1));
  106. }
  107. }
  108. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement