Advertisement
Guest User

Array Manipulator

a guest
Feb 23rd, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.55 KB | None | 0 0
  1. package Lists_Exercise;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Arrays;
  5. import java.util.List;
  6. import java.util.Scanner;
  7. import java.util.stream.Collectors;
  8.  
  9. public class ArrayManipulatorLIST {
  10.     public static void main(String[] args) {
  11.         Scanner scanner = new Scanner(System.in);
  12.  
  13.         List<Integer> numbers = Arrays.stream(scanner.nextLine()
  14.                 .split("\\s+"))
  15.                 .map(Integer::parseInt)
  16.                 .collect(Collectors.toList());
  17.  
  18.         String line = scanner.nextLine();
  19.  
  20.         while (!"print".equals(line)) {
  21.             String[] tokens = line.split("\\s+");
  22.             String comand = tokens[0];
  23.             if (comand.equals("add")) {
  24.                 int index = Integer.parseInt(tokens[1]);
  25.                 int element = Integer.parseInt(tokens[2]);
  26.  
  27.                     numbers.add(index, element);
  28.  
  29.             } else if (comand.equals("addMany")) {
  30.                 int index = Integer.parseInt(tokens[1]);
  31.                 List<Integer> numToAdd = new ArrayList<>();
  32.                 for (int i = 2; i < tokens.length; i++) {
  33.                     numToAdd.add(Integer.parseInt(tokens[i]));
  34.                 }
  35.                     numbers.addAll(index, numToAdd);
  36.  
  37.             } else if (comand.equals("contains")) {
  38.                 int element = Integer.parseInt(tokens[1]);
  39.                 if (numbers.contains(element)) {
  40.                     int indexElement = numbers.indexOf(element);
  41.                     System.out.println(indexElement);
  42.                 } else {
  43.                     System.out.println("-1");
  44.                 }
  45.             } else if (comand.equals("remove")) {
  46.                 int index = Integer.parseInt(tokens[1]);
  47.                 if (index>= 0 && index < numbers.size()) {
  48.                     numbers.remove(index);
  49.                 }
  50.             }else if (comand.equals("shift")){
  51.                 int positions = Integer.parseInt(tokens[1]);
  52.  
  53.                 positions = positions % numbers.size();
  54.                 for (int i = 0; i < positions ; i++) {
  55.                     numbers.add(numbers.get(0));
  56.                     numbers.remove(0);
  57.                 }
  58.             }else if (comand.equals("sumPairs")){
  59.                 for (int i = 0; i < numbers.size()-1 ; i++) {
  60.                     int sum = numbers.get(i) + numbers.get(i + 1);
  61.                     numbers.set(i,sum);
  62.                     numbers.remove(i + 1);
  63.                 }
  64.             }
  65.  
  66.  
  67.             line = scanner.nextLine();
  68.         }
  69.         System.out.println(numbers.toString());
  70.     }
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement