Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Lists;
- import java.util.Arrays;
- import java.util.List;
- import java.util.Scanner;
- import java.util.stream.Collectors;
- public class ArrayManipulator {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- List<Integer> numbers = Arrays.stream(scanner.nextLine().split(" ")).map(Integer::parseInt)
- .collect(Collectors.toList());
- while (true) {
- List<String> command = Arrays.stream(scanner.nextLine().split(" ")).collect(Collectors.toList());
- if (command.get(0).equals("print")) {
- System.out.println(Arrays.toString(numbers.toArray()));
- return;
- }
- GetResult(numbers, command);
- }
- }
- static void GetResult(List<Integer> numbers, List<String> command) {
- switch (command.get(0)) {
- case "add":
- numbers.add(Integer.parseInt(command.get(1)), Integer.parseInt(command.get(2)));
- break;
- case "addMany":
- AddManyNum(numbers, command);
- break;
- case "contains":
- ContainsNum(numbers, command);
- break;
- case "remove":
- numbers.remove(Integer.parseInt(command.get(1)));
- break;
- case "shift":
- ShiftNum(numbers, command);
- break;
- case "sumPairs":
- sumPairs(numbers);
- break;
- }
- }
- static void ShiftNum(List<Integer> numbers, List<String> command) {
- for (int i = 0; i < Integer.parseInt(command.get(1)); i++) {
- numbers.add(numbers.get(0));
- numbers.remove(0);
- }
- }
- static void AddManyNum(List<Integer> numbers, List<String> command) {
- for (int i = command.size() - 1; i >= 2; i--) {
- numbers.add(Integer.parseInt(command.get(1)), Integer.parseInt(command.get(i)));
- }
- }
- static void ContainsNum(List<Integer> numbers, List<String> command) {
- int specialNumber = Integer.parseInt(command.get(1));
- boolean isTrue = true;
- for (int i = 0; i < numbers.size(); i++) {
- if (numbers.get(i) == specialNumber) {
- System.out.println(i);
- isTrue = false;
- break;
- }
- }
- if (isTrue) {
- System.out.println("-1");
- }
- }
- static void sumPairs(List<Integer> numbers) {
- if (numbers.size() % 2 == 0) {
- for (int i = 0; i < numbers.size(); i++) {
- int sum = numbers.get(i) + numbers.get(i + 1);
- numbers.set(i, sum);
- numbers.remove(i + 1);
- }
- } else {
- for (int i = 0; i < numbers.size() - 1; i++) {
- int sum = numbers.get(i) + numbers.get(i + 1);
- numbers.set(i, sum);
- numbers.remove(i + 1);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment