Advertisement
svephoto

Array Modifier [Java]

Aug 17th, 2020 (edited)
231
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.49 KB | None | 0 0
  1. package svephoto.company;
  2.  
  3. import java.util.*;
  4. import java.util.stream.Collectors;
  5.  
  6. public class ArrayModifier2 {
  7.     public static void main(String[] args) {
  8.         Scanner scanner = new Scanner(System.in);
  9.  
  10.         List<Integer> elements = Arrays.stream(scanner.nextLine().split("\\s+"))
  11.                 .map(Integer::parseInt).collect(Collectors.toList());
  12.  
  13.         String command;
  14.  
  15.         while (!"end".equals(command = scanner.nextLine())) {
  16.             String[] tokens = command.split("\\s+");
  17.  
  18.             if ("decrease".equals(tokens[0])) {
  19.                 for (int i = 0; i < elements.size(); i++) {
  20.                     int currentElementValue = elements.get(i) - 1;
  21.                     elements.set(i, currentElementValue);
  22.                 }
  23.             }
  24.  
  25.             if ("swap".equals(tokens[0])) {
  26.                 Collections.swap(elements, Integer.parseInt(tokens[1]), Integer.parseInt(tokens[2]));
  27.             }
  28.  
  29.             if ("multiply".equals(tokens[0])) {
  30.                 int multiplication = elements.get(Integer.parseInt(tokens[1])) * elements.get(Integer.parseInt(tokens[2]));
  31.                 elements.set(Integer.parseInt(tokens[1]), multiplication);
  32.             }
  33.         }
  34.  
  35.         System.out.println(formatListOfIntegers(elements));
  36.     }
  37.  
  38.     private static String formatListOfIntegers(List<Integer> integerList) {
  39.         return integerList.stream()
  40.                 .map(String::valueOf)
  41.                 .collect(Collectors.joining(", "));
  42.     }
  43. }
  44.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement