Advertisement
desislava_topuzakova

09. Array Modifier

Jun 5th, 2022
1,529
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.90 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.Arrays;
  3. import java.util.List;
  4. import java.util.Scanner;
  5. import java.util.stream.Collectors;
  6.  
  7. public class Demo {
  8.     public static void main(String[] args) {
  9.         Scanner scanner = new Scanner(System.in);
  10.         int [] numbers = Arrays.stream(scanner.nextLine() //"23 -2 321 87 42 90 -123"
  11.                 .split(" "))  //["23", "-2", "321", "87", "42", "90", "-123"]
  12.                 .mapToInt(Integer::parseInt)  //[23, -2, 321, 87, 42, 90, -123]
  13.                 .toArray();
  14.  
  15.         String command = scanner.nextLine();
  16.         //"swap {index1} {index2}".split(" ") ->
  17.         //"multiply {index1} {index2}".split(" ") -> ["multiply", "3", "4"]
  18.         //"decrease".split(" ") -> ["decrease"]
  19.  
  20.         while (!command.equals("end")) {
  21.              String[] commandParts = command.split(" ");
  22.              String commandType = commandParts[0]; //"swap", "multiply", "decrease"
  23.                 switch (commandType) {
  24.                     case "swap":
  25.                         //commandParts: ["swap", "3", "4"]
  26.                         int index1 = Integer.parseInt(commandParts[1]);
  27.                         int element1 = numbers[index1];
  28.                         int index2 = Integer.parseInt(commandParts[2]);
  29.                         int element2 = numbers[index2];
  30.  
  31.                         //swap
  32.                         numbers[index1] = element2;
  33.                         numbers[index2] = element1;
  34.                         break;
  35.                     case "multiply":
  36.                         //изпълнявам командата multiply
  37.                         int multiplyElementIndex1 = Integer.parseInt(commandParts[1]);
  38.                         int multiplyElement1 = numbers[multiplyElementIndex1];
  39.                         int multiplyElementIndex2 = Integer.parseInt(commandParts[2]);
  40.                         int multiplyElement2 = numbers[multiplyElementIndex2];
  41.  
  42.                         int product = multiplyElement1 * multiplyElement2;
  43.                         numbers[multiplyElementIndex1] = product;
  44.                         break;
  45.                     case "decrease":
  46.                        //всички елементи в масива -1
  47.                         for (int index = 0; index <= numbers.length - 1; index++) {
  48.                             numbers[index] = numbers[index] - 1;
  49.                         }
  50.                         break;
  51.                 }
  52.             command = scanner.nextLine();
  53.         }
  54.  
  55.         //отпечатваме масива (", ")
  56.         /*for (int index = 0; index <= numbers.length - 1; index++) {
  57.             if (index != numbers.length - 1) {
  58.                 System.out.print(numbers[index] + ", ");
  59.             } else {
  60.                 System.out.print(numbers[index]);
  61.             }
  62.         }*/
  63.  
  64.         System.out.println(Arrays.toString(numbers).replace("[", "").replace("]", ""));
  65.     }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement