LoraOrliGeo

P4_ListOperations_Lists_Ex

Apr 8th, 2019
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.77 KB | None | 0 0
  1. package feb20_Lists_Exercises;
  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 P4_ListOperations {
  9.     public static void main(String[] args) {
  10.         @SuppressWarnings("resource")
  11.  
  12.         Scanner sc = new Scanner(System.in);
  13.  
  14.         List<Integer> numbers = Arrays.stream(sc.nextLine().split("\\s+")).map(Integer::parseInt)
  15.                 .collect(Collectors.toList());
  16.  
  17.         String input = "";
  18.  
  19.         while (!"End".equals(input = sc.nextLine())) {
  20.             String[] data = input.split("\\s+");
  21.  
  22.             String command = data[0];
  23.  
  24.             switch (command) {
  25.             case "Add":
  26.                 numbers.add(Integer.parseInt(data[1]));
  27.                 break;
  28.             case "Insert":
  29.                 int element = Integer.parseInt(data[1]);
  30.                 int index = Integer.parseInt(data[2]);
  31.                
  32.                 if (index >= 0 && index <= numbers.size()) {
  33.                     numbers.add(index, element);
  34.                 } else {
  35.                     System.out.println("Invalid index");
  36.                 }
  37.  
  38.                 break;
  39.             case "Remove":
  40.                 int indexToRemove = Integer.parseInt(data[1]);
  41.                
  42.                 if (indexToRemove >= 0 && indexToRemove <= numbers.size()) {
  43.                     numbers.remove(indexToRemove);
  44.                 } else {
  45.                     System.out.println("Invalid index");
  46.                 }
  47.  
  48.                 break;
  49.             case "Shift":
  50.                 if (numbers.size() > 0) {
  51.                     int count = Integer.parseInt(data[2]) % numbers.size();
  52.                     count = count % numbers.size();
  53.                    
  54.                     if (data[1].equals("left")) {
  55.                         for (int i = 0; i < count; i++) {
  56.                             numbers.add(numbers.get(0));
  57.                             numbers.remove(0);
  58.                         }
  59.                        
  60.                     } else {
  61.                         for (int i = 0; i < count; i++) {
  62.                             numbers.add(0, numbers.get(numbers.size() - 1));
  63.                             numbers.remove(numbers.size() - 1);
  64.                         }
  65.                     }
  66.                 }
  67.                 break;
  68.             }
  69.         }
  70.        
  71.         System.out.println(numbers.toString().replaceAll("\\[|,|\\]", ""));
  72.     }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment