Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- import java.util.Scanner;
- import java.util.stream.Collectors;
- public class ListOperations_04 {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- List<Integer> numbers = Arrays.stream(scanner.nextLine().split("\\s+"))
- .map(Integer::parseInt)
- .collect(Collectors.toList());
- String command = scanner.nextLine();
- while (!command.equals("End")) {
- String[] commandParts = command.split(" ");
- String commandName = commandParts[0];
- switch (commandName) {
- case "Add":
- int numberToAdd = Integer.parseInt(commandParts[1]);
- numbers.add(numberToAdd);
- break;
- case "Insert":
- int numberToInsert = Integer.parseInt(commandParts[1]);
- int indexToInsert = Integer.parseInt(commandParts[2]);
- if (isValidIndex(indexToInsert, numbers.size())) {
- numbers.add(indexToInsert, numberToInsert);
- } else {
- System.out.println("Invalid index");
- }
- break;
- case "Remove":
- int indexToRemove = Integer.parseInt(commandParts[1]);
- if (isValidIndex(indexToRemove, numbers.size())) {
- numbers.remove(indexToRemove);
- } else {
- System.out.println("Invalid index");
- }
- break;
- case "Shift":
- int count = Integer.parseInt(commandParts[2]);
- if (commandParts[1].equals("left")) {
- shiftLeft(numbers, count);
- } else if (commandParts[1].equals("right")) { //corrected code
- shiftRight(numbers, count);
- }
- break;
- }
- command = scanner.nextLine();
- }
- for (int number : numbers) {
- System.out.print(number + " ");
- }
- }
- private static boolean isValidIndex(int index, int size) {
- return index >= 0 && index < size;
- }
- private static void shiftLeft(List<Integer> numbers, int count) {
- for (int i = 0; i < count; i++) {
- int firstElement = numbers.remove(0);
- numbers.add(firstElement);
- }
- }
- private static void shiftRight(List<Integer> numbers, int count) {
- for (int i = 0; i < count; i++) {
- int lastElement = numbers.remove(numbers.size() - 1);
- numbers.add(0, lastElement);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement