luoni

Array Manipulator 91/100

Jun 6th, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.39 KB | None | 0 0
  1. package Lists;
  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 ArrayManipulator {
  9. public static void main(String[] args) {
  10. Scanner scanner = new Scanner(System.in);
  11.  
  12. List<Integer> numbers = Arrays.stream(scanner.nextLine().split(" ")).map(Integer::parseInt)
  13. .collect(Collectors.toList());
  14.  
  15. while (true) {
  16. List<String> command = Arrays.stream(scanner.nextLine().split(" ")).collect(Collectors.toList());
  17.  
  18. if (command.get(0).equals("print")) {
  19. System.out.println(Arrays.toString(numbers.toArray()));
  20. return;
  21. }
  22. GetResult(numbers, command);
  23. }
  24. }
  25.  
  26. static void GetResult(List<Integer> numbers, List<String> command) {
  27. switch (command.get(0)) {
  28. case "add":
  29. numbers.add(Integer.parseInt(command.get(1)), Integer.parseInt(command.get(2)));
  30. break;
  31. case "addMany":
  32. AddManyNum(numbers, command);
  33. break;
  34. case "contains":
  35. ContainsNum(numbers, command);
  36. break;
  37. case "remove":
  38. numbers.remove(Integer.parseInt(command.get(1)));
  39. break;
  40. case "shift":
  41. ShiftNum(numbers, command);
  42. break;
  43. case "sumPairs":
  44. sumPairs(numbers);
  45. break;
  46. }
  47. }
  48.  
  49. static void ShiftNum(List<Integer> numbers, List<String> command) {
  50. for (int i = 0; i < Integer.parseInt(command.get(1)); i++) {
  51. numbers.add(numbers.get(0));
  52. numbers.remove(0);
  53. }
  54. }
  55.  
  56. static void AddManyNum(List<Integer> numbers, List<String> command) {
  57. for (int i = command.size() - 1; i >= 2; i--) {
  58. numbers.add(Integer.parseInt(command.get(1)), Integer.parseInt(command.get(i)));
  59. }
  60. }
  61.  
  62. static void ContainsNum(List<Integer> numbers, List<String> command) {
  63. int specialNumber = Integer.parseInt(command.get(1));
  64. boolean isTrue = true;
  65. for (int i = 0; i < numbers.size(); i++) {
  66. if (numbers.get(i) == specialNumber) {
  67. System.out.println(i);
  68. isTrue = false;
  69. break;
  70. }
  71. }
  72. if (isTrue) {
  73. System.out.println("-1");
  74. }
  75. }
  76.  
  77. static void sumPairs(List<Integer> numbers) {
  78. if (numbers.size() % 2 == 0) {
  79. for (int i = 0; i < numbers.size(); i++) {
  80.  
  81. int sum = numbers.get(i) + numbers.get(i + 1);
  82. numbers.set(i, sum);
  83. numbers.remove(i + 1);
  84. }
  85. } else {
  86. for (int i = 0; i < numbers.size() - 1; i++) {
  87. int sum = numbers.get(i) + numbers.get(i + 1);
  88. numbers.set(i, sum);
  89. numbers.remove(i + 1);
  90. }
  91. }
  92. }
  93. }
Advertisement
Add Comment
Please, Sign In to add comment