Str1k3rch0

List Manipulation Advanced

Nov 17th, 2022
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.25 KB | None | 0 0
  1. package ArrayList;
  2.  
  3. import java.util.Arrays;
  4. import java.util.List;
  5. import java.util.Scanner;
  6. import java.util.stream.Collectors;
  7.  
  8. public class P05ListManipulationAdvanced {
  9.  
  10.     public static void main(String[] args) {
  11.         Scanner scan = new Scanner(System.in);
  12.  
  13.         List<Integer> numbersList = Arrays.stream(scan.nextLine().split(" "))
  14.                 .map(Integer::parseInt)
  15.                 .collect(Collectors.toList());
  16.  
  17.         int number = 0;
  18.  
  19.         while (true) {
  20.  
  21.             String[] commandArr = scan.nextLine().split(" ");
  22.  
  23.             if (commandArr[1].equals("end")) {
  24.                 break;
  25.             }
  26.  
  27.             switch (commandArr[0]) {
  28. //            Contains {number} – check if the list contains the number. If yes, print "Yes", otherwise, print "No such number"
  29.                 case "Contains":
  30.                     number = Integer.parseInt(commandArr[1]);
  31.                     if (isNumberIn(numbersList, number)){
  32.                         System.out.println("Yes");
  33.                     } else {
  34.                         System.out.println("No such number");
  35.                     }
  36.                     break;
  37.  
  38. //            Print even – print all the numbers that are even separated by a space
  39. //            Print odd – print all the numbers that are oddly separated by a space
  40.                 case "Print":
  41.                     printEvenOrOdd(numbersList, commandArr[1]);
  42.                     System.out.println();
  43.                     break;
  44.  
  45. //            Get sum – print the sum of all the numbers
  46.                 case "Get":
  47.                     System.out.println(giveListSum(numbersList));
  48.                     break;
  49.  
  50. //            Filter {condition} {number} – print all the numbers that fulfill that condition. The condition will be either
  51. //            '<' По-малко
  52. //            '>' По-голямо
  53. //            "<=" По-малко или равно
  54. //            ">=" По-голямо или равно
  55.                 case "Filter":
  56.                     number = Integer.parseInt(commandArr[2]);
  57.                     numbersMeatingTheConditions(commandArr, numbersList, number);
  58.                     System.out.println();
  59.                     break;
  60.             }
  61.         }
  62.     }
  63.  
  64.     private static void numbersMeatingTheConditions(String[] commandArr, List<Integer> numbersList, int number) {
  65.         switch (commandArr[1]){
  66.             case "<":
  67.                 for (int item : numbersList) {
  68.                     if (item < number) {
  69.                         System.out.print(item + " ");
  70.                     }
  71.                 }
  72.                 break;
  73.             case ">":
  74.                 for (int item : numbersList) {
  75.                     if (item > number) {
  76.                         System.out.print(item + " ");
  77.                     }
  78.                 }
  79.                 break;
  80.             case "<=":
  81.                 for (int item : numbersList) {
  82.                     if (item <= number) {
  83.                         System.out.print(item + " ");
  84.                     }
  85.                 }
  86.                 break;
  87.             case ">=":
  88.                 for (int item : numbersList) {
  89.                     if (item >= number) {
  90.                         System.out.print(item + " ");
  91.                     }
  92.                 }
  93.                 break;
  94.         }
  95.     }
  96.  
  97.     private static boolean isNumberIn (List<Integer> numbersList, int number) {
  98.         for (int item : numbersList) {
  99.             if (item == number) {
  100.                 return true;
  101.             }
  102.         }
  103.         return false;
  104.     }
  105.  
  106.     private static void printEvenOrOdd(List<Integer> numbersList, String command) {
  107.         if (command.equals("even")) {
  108.             for (int item : numbersList) {
  109.                 if (item % 2 == 0) {
  110.                     System.out.print(item + " ");
  111.                 }
  112.             }
  113.         } else {
  114.             for (int item : numbersList) {
  115.                 if (item % 2 != 0) {
  116.                     System.out.print(item + " ");
  117.                 }
  118.             }
  119.         }
  120.     }
  121.  
  122.     private static Integer giveListSum(List<Integer> numbersList) {
  123.         int sum = 0;
  124.         for (int item : numbersList) {
  125.             sum += item;
  126.         }
  127.         return sum;
  128.     }
  129.  
  130. }
Advertisement
Add Comment
Please, Sign In to add comment