Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Week5Lists.Ex;
- import java.util.Arrays;
- import java.util.List;
- import java.util.Scanner;
- import java.util.stream.Collectors;
- public class ListOperations {
- public static void main(String[] args) {
- Scanner scan = new Scanner(System.in);
- List<Integer> listArray = Arrays.stream(scan.nextLine().split(" "))
- .map(Integer::parseInt).collect(Collectors.toList());
- String[] operator = scan.nextLine().split("\\s+");
- while (!"End".equals(operator[0])) {
- switch (operator[0]) {
- case "Add":
- int number = Integer.parseInt(operator[1]);
- listArray.add(number);
- break;
- case "Insert":
- number = Integer.parseInt(operator[1]);
- int index = Integer.parseInt(operator[2]);
- if (index < 0 || index > listArray.size()) {
- System.out.println("Invalid index");
- } else {
- listArray.add(index, number);
- }
- break;
- case "Remove":
- index = Integer.parseInt(operator[1]);
- if (index < 0 || index >= listArray.size()) {
- System.out.println("Invalid index");
- } else {
- listArray.remove(index);
- }
- break;
- case "Shift":
- int count = Integer.parseInt(operator[2]);
- switch (operator[1]) {
- case "left":
- for (int i = 0; i < count; i++) {
- int tempNum = listArray.get(0);
- listArray.remove(0);
- listArray.add(tempNum);
- }
- break;
- case "right":
- for (int i = 0; i < count; i++) {
- int tempNum = listArray.get(listArray.size() -1);
- listArray.remove(listArray.get(listArray.size() -1));
- listArray.add(0, tempNum);
- }
- break;
- }
- }
- operator = scan.nextLine().split("\\s+");
- }
- System.out.println(listArray.toString().replaceAll("[\\[\\],]", ""));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment