Advertisement
veronikaaa86

05. List Manipulation Advanced

Jun 7th, 2023
1,345
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.15 KB | None | 0 0
  1. package list;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Arrays;
  5. import java.util.List;
  6. import java.util.Scanner;
  7. import java.util.stream.Collectors;
  8.  
  9. public class P05ListManipulationAdvanced {
  10.     public static void main(String[] args) {
  11.         Scanner scanner = new Scanner(System.in);
  12.  
  13.         List<Integer> numberList = Arrays
  14.                 .stream(scanner.nextLine().split(" "))
  15.                 .map(Integer::parseInt)
  16.                 .collect(Collectors.toList());
  17.  
  18.         String input = scanner.nextLine();
  19.         while (!input.equals("end")) {
  20.             List<String> commandLine = Arrays.stream(input.split(" ")).collect(Collectors.toList());
  21.             String command = commandLine.get(0);
  22.  
  23.             switch (command) {
  24.                 case "Contains":
  25.                     int numContains = Integer.parseInt(commandLine.get(1));
  26.  
  27.                     if (numberList.contains(numContains)) {
  28.                         System.out.println("Yes");
  29.                     } else {
  30.                         System.out.println("No such number");
  31.                     }
  32.                     break;
  33.                 case "Print":
  34.                     String secondCommand = commandLine.get(1);
  35.                     if (secondCommand.equals("even")) {
  36.                         List<Integer> evenNumList = getEvenNumbers(numberList);
  37.                         System.out.println(evenNumList.toString().replaceAll("[\\[\\],]", ""));
  38.                     } else {
  39.                         List<Integer> oddNumList = getOddNumbers(numberList);
  40.                         System.out.println(oddNumList.toString().replaceAll("[\\[\\],]", ""));
  41.                     }
  42.                     break;
  43.                 case "Get":
  44.                     int sum = 0;
  45.                     for (int i = 0; i < numberList.size(); i++) {
  46.                         sum = sum + numberList.get(i);
  47.                     }
  48.                     System.out.println(sum);
  49.                     break;
  50.                 case "Filter":
  51.                     String condition = commandLine.get(1);
  52.                     int number = Integer.parseInt(commandLine.get(2));
  53.  
  54.                     List<Integer> conditionalNumList = getConditionNumbers(numberList, condition, number);
  55.                     System.out.println(conditionalNumList.toString().replaceAll("[\\[\\],]", ""));
  56.                     break;
  57.             }
  58.  
  59.  
  60.             input = scanner.nextLine();
  61.         }
  62.     }
  63.    
  64.     public static List<Integer> getConditionNumbers(List<Integer> initList, String condition, int number) {
  65.         List<Integer> resultList = new ArrayList<>();
  66.         for (int i = 0; i < initList.size(); i++) {
  67.             int currentNum = initList.get(i);
  68.  
  69.             if (condition.equals("<")) {
  70.                 if (currentNum < number) {
  71.                     resultList.add(currentNum);
  72.                 }
  73.             } else if (condition.equals(">")) {
  74.                 if (currentNum > number) {
  75.                     resultList.add(currentNum);
  76.                 }
  77.             } else if (condition.equals("<=")) {
  78.                 if (currentNum <= number) {
  79.                     resultList.add(currentNum);
  80.                 }
  81.             } else if (condition.equals(">=")) {
  82.                 if (currentNum >= number) {
  83.                     resultList.add(currentNum);
  84.                 }
  85.             }
  86.         }
  87.         return resultList;
  88.     }
  89.  
  90.     public static List<Integer> getEvenNumbers(List<Integer> initList) {
  91.         List<Integer> evenNumbersList = new ArrayList<>();
  92.         for (int i = 0; i < initList.size(); i++) {
  93.             int currentItem = initList.get(i);
  94.  
  95.             if (currentItem % 2 == 0) {
  96.                 evenNumbersList.add(currentItem);
  97.             }
  98.         }
  99.         return evenNumbersList;
  100.     }
  101.  
  102.     public static List<Integer> getOddNumbers(List<Integer> initList) {
  103.         List<Integer> oddNumbersList = new ArrayList<>();
  104.         for (int i = 0; i < initList.size(); i++) {
  105.             int currentItem = initList.get(i);
  106.  
  107.             if (currentItem % 2 != 0) {
  108.                 oddNumbersList.add(currentItem);
  109.             }
  110.         }
  111.         return oddNumbersList;
  112.     }
  113. }
  114.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement