Groney

List Operations Switch

Feb 24th, 2019
395
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.52 KB | None | 0 0
  1. package Week5Lists.Ex;
  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 scan = new Scanner(System.in);
  11.  
  12.         List<Integer> listArray = Arrays.stream(scan.nextLine().split(" "))
  13.                 .map(Integer::parseInt).collect(Collectors.toList());
  14.  
  15.         String[] operator = scan.nextLine().split("\\s+");
  16.  
  17.         while (!"End".equals(operator[0])) {
  18.             switch (operator[0]) {
  19.                 case "Add":
  20.                     int number = Integer.parseInt(operator[1]);
  21.                     listArray.add(number);
  22.                     break;
  23.                 case "Insert":
  24.                     number = Integer.parseInt(operator[1]);
  25.                     int index = Integer.parseInt(operator[2]);
  26.  
  27.                     if (index < 0 || index > listArray.size()) {
  28.                         System.out.println("Invalid index");
  29.                     } else {
  30.                         listArray.add(index, number);
  31.                     }
  32.                     break;
  33.                 case "Remove":
  34.                     index = Integer.parseInt(operator[1]);
  35.  
  36.                     if (index < 0 || index >= listArray.size()) {
  37.                         System.out.println("Invalid index");
  38.                     } else {
  39.                         listArray.remove(index);
  40.                     }
  41.                     break;
  42.                 case "Shift":
  43.                     int count = Integer.parseInt(operator[2]);
  44.                     switch (operator[1]) {
  45.                         case "left":
  46.                             for (int i = 0; i < count; i++) {
  47.                                 int tempNum = listArray.get(0);
  48.                                 listArray.remove(0);
  49.                                 listArray.add(tempNum);
  50.                             }
  51.                             break;
  52.                         case "right":
  53.  
  54.                             for (int i = 0; i < count; i++) {
  55.                                 int tempNum = listArray.get(listArray.size() -1);
  56.                                 listArray.remove(listArray.get(listArray.size() -1));
  57.                                 listArray.add(0, tempNum);
  58.                             }
  59.                             break;
  60.                     }
  61.             }
  62.             operator = scan.nextLine().split("\\s+");
  63.         }
  64.  
  65.         System.out.println(listArray.toString().replaceAll("[\\[\\],]", ""));
  66.     }
  67. }
Advertisement
Add Comment
Please, Sign In to add comment