Advertisement
mirozspace

L_Operations

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