Advertisement
Guest User

Untitled

a guest
Jun 17th, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.87 KB | None | 0 0
  1. package ListExercise;
  2.  
  3. import java.util.Arrays;
  4. import java.util.List;
  5. import java.util.Scanner;
  6. import java.util.stream.Collectors;
  7.  
  8. public class ListOperations {
  9. public static void main(String[] args) {
  10. Scanner scanner = new Scanner(System.in);
  11.  
  12. List<Integer> numbers = Arrays.stream(scanner.nextLine().split(" "))
  13. .map(Integer::parseInt).collect(Collectors.toList());
  14.  
  15. String line = scanner.nextLine();
  16.  
  17. while (!line.equals("End")) {
  18. String[] tokens = line.split(" ");
  19. String command = tokens[0];
  20.  
  21.  
  22. switch (command) {
  23. case "Add":
  24. int number = Integer.parseInt(tokens[1]);
  25. addNumber(numbers, number);
  26. break;
  27. case "Insert":
  28. int numberToInsert = Integer.parseInt(tokens[1]);
  29. int index = Integer.parseInt(tokens[2]);
  30. insertNumber(numbers, numberToInsert, index);
  31. break;
  32. case "Remove":
  33. int indexToRemove = Integer.parseInt(tokens[1]);
  34. removeIndex(numbers, indexToRemove);
  35. break;
  36. case "Shift":
  37. String direction = tokens[2];
  38. if (direction.equals("Left")) {
  39. int shiftsLeft = Integer.parseInt(tokens[2]);
  40. for (int i = 0; i < shiftsLeft; i++) {
  41. int firstElement = numbers.remove(0);
  42. numbers.add(firstElement);
  43.  
  44. }
  45. break;
  46. }
  47. if (direction.equals("Right")){
  48. int shiftsRight = Integer.parseInt(tokens[2]);
  49. for (int i = 0; i < shiftsRight; i++) {
  50. int lastElement = numbers.remove(numbers.size() - 1);
  51. numbers.add(0, lastElement);
  52.  
  53. }
  54. break;
  55. }
  56. }
  57.  
  58. line = scanner.nextLine();
  59. }
  60.  
  61. for (int i = 0; i < numbers.size(); i++) {
  62. System.out.print(numbers.get(i) + " ");
  63. }
  64.  
  65. }
  66.  
  67. private static void removeIndex(List<Integer> numbers, int index) {
  68. if (index < numbers.size()) {
  69. numbers.remove(index);
  70. } else {
  71. System.out.println("Invalid index");
  72. }
  73. }
  74.  
  75. private static void insertNumber(List<Integer> numbers, int number, int index) {
  76. if (!numbers.contains(number)) {
  77. numbers.add(index, number);
  78. }
  79. }
  80.  
  81. private static void addNumber(List<Integer> numbers, int number) {
  82. if (!numbers.contains(number)) {
  83. numbers.add(number);
  84. }
  85. }
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement