Advertisement
mirozspace

Manipulator List

Feb 19th, 2019
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.59 KB | None | 0 0
  1. import java.util.Arrays;
  2. import java.util.List;
  3. import java.util.Scanner;
  4. import java.util.stream.Collectors;
  5.  
  6. public class Pr5ListManipulationAdvanced {
  7.     public static void main(String[] args) {
  8.         Scanner scanner = new Scanner(System.in);
  9.         List<Integer> numbers =
  10.                 Arrays.stream(scanner.nextLine().split(" "))
  11.                         .map(Integer::parseInt)
  12.                         .collect(Collectors.toList());
  13.         String line;
  14.         while (!("end").equals(line = scanner.nextLine())) {
  15.             String[] commandArray = line.split("\\s+");
  16.             String command = commandArray[0];
  17.             if ("Get".equals(command)) {
  18.                 command = commandArray[0] + commandArray[1];
  19.             }
  20.             switch (command) {
  21.                 case "Contains":
  22.                     int containNumber = Integer.parseInt(commandArray[1]);
  23.                     boolean containsElement = containsElement(numbers, containNumber);
  24.                     if (containsElement) System.out.println("Yes");
  25.                     else System.out.println("No such number");
  26.                     break;
  27.                 case "Print":
  28.                     String printOddEven = commandArray[1];
  29.                     printEvenOdd(numbers, printOddEven);
  30.                     break;
  31.                 case "Getsum":
  32.                     getSum(numbers);
  33.                     break;
  34.                 case "Filter":
  35.                     String condition = commandArray[1];
  36.                     int filterNumber = Integer.parseInt(commandArray[2]);
  37.                     filter(numbers, condition, filterNumber);
  38.                     break;
  39.             }
  40.         }
  41.     }
  42.  
  43.     private static boolean containsElement(List<Integer> numbers, int containNumber) {
  44.         boolean isContains = false;
  45.         for (Integer number : numbers) {
  46.             if (number.equals(containNumber)) {
  47.                 isContains = true;
  48.             }
  49.         }
  50.         return isContains;
  51.     }
  52.  
  53.     private static void printEvenOdd(List<Integer> numbers, String printOddEven) {
  54.         int caseOddEven = (printOddEven.equals("odd")) ? 1 : 0;
  55.         for (Integer number : numbers) {
  56.             if (number % 2 == caseOddEven) {
  57.                 System.out.print(number + " ");
  58.             }
  59.         }
  60.         System.out.println();
  61.     }
  62.  
  63.     private static void getSum(List<Integer> numbers) {
  64.         int sum = 0;
  65.         for (Integer number : numbers) {
  66.             sum += number;
  67.         }
  68.         System.out.println(sum);
  69.     }
  70.  
  71.     private static void filter(List<Integer> numbers, String condition, int filterNumber) {
  72.         switch (condition) {
  73.             case "<":
  74.                 for (Integer number : numbers) {
  75.                     if (number < filterNumber) System.out.print(number + " ");
  76.                 }
  77.                 System.out.println();
  78.                 break;
  79.             case ">":
  80.                 for (Integer number : numbers) {
  81.                     if (number > filterNumber) System.out.print(number + " ");
  82.                 }
  83.                 System.out.println();
  84.                 break;
  85.             case "<=":
  86.                 for (Integer number : numbers) {
  87.                     if (number <= filterNumber) System.out.print(number + " ");
  88.                 }
  89.                 System.out.println();
  90.                 break;
  91.             case ">=":
  92.                 for (Integer number : numbers) {
  93.                     if (number >= filterNumber) System.out.print(number + " ");
  94.                 }
  95.                 System.out.println();
  96.                 break;
  97.         }
  98.     }
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement