Advertisement
mark79

Number Array

Jul 7th, 2019
592
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.05 KB | None | 0 0
  1. import java.util.Arrays;
  2. import java.util.Scanner;
  3.  
  4. public class NumberArray {
  5.  
  6.     private static boolean isIndexValid(int[] numbers, int index) {
  7.         return index >= 0 && index < numbers.length;
  8.     }
  9.  
  10.     public static void main(String[] args) {
  11.         Scanner scanner = new Scanner(System.in);
  12.  
  13.         int[] numbers = Arrays.stream(scanner.nextLine().split("\\s+")).mapToInt(Integer::parseInt).toArray();
  14.  
  15.         String input = scanner.nextLine();
  16.         while (!input.equals("End")) {
  17.  
  18.             String[] tokens = input.split("\\s+");
  19.  
  20.             String command = tokens[0];
  21.  
  22.             switch (command) {
  23.                 case "Switch": {
  24.                     int index = Integer.parseInt(tokens[1]);
  25.                     if (isIndexValid(numbers, index)) {
  26.                         numbers[index] = numbers[index] * -1;
  27.                     }
  28.                 }
  29.                 break;
  30.                 case "Change": {
  31.                     int index = Integer.parseInt(tokens[1]);
  32.                     if (isIndexValid(numbers, index)) {
  33.                         numbers[index] = Integer.parseInt(tokens[2]);
  34.                     }
  35.                 }
  36.                 break;
  37.                 case "Sum":
  38.                     String secondCommand = tokens[1];
  39.                     switch (secondCommand) {
  40.                         case "Negative":
  41.                             System.out.println(Arrays.stream(numbers).filter(value -> value < 0).sum());
  42.                             break;
  43.                         case "Positive":
  44.                             System.out.println(Arrays.stream(numbers).filter(value -> value >= 0).sum());
  45.                             break;
  46.                         case "All":
  47.                             System.out.println(Arrays.stream(numbers).sum());
  48.                             break;
  49.                     }
  50.                     break;
  51.             }
  52.  
  53.             input = scanner.nextLine();
  54.         }
  55.  
  56.         Arrays.stream(numbers).filter(value -> value >= 0).forEach(e -> System.out.printf("%d ", e));
  57.     }
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement