Advertisement
mark79

Java Fundamentals - Tasks Planner

Aug 5th, 2019
263
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.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 TasksPlanner {
  7.     public static void main(String[] args) {
  8.         Scanner scanner = new Scanner(System.in);
  9.  
  10.         List<Integer> ints = Arrays.stream(scanner.nextLine().split(" ")).map(Integer::parseInt).collect(Collectors.toList());
  11.         String input = scanner.nextLine();
  12.         while (!input.equals("End")) {
  13.             String[] tokens = input.split(" ");
  14.             String command = tokens[0];
  15.             switch (command) {
  16.                 case "Complete": {
  17.                     int index = Integer.parseInt(tokens[1]);
  18.                     if (isIndexValid(ints, index)) {
  19.                         ints.set(index, 0);
  20.                     }
  21.                 }
  22.                 break;
  23.                 case "Change": {
  24.                     int index = Integer.parseInt(tokens[1]);
  25.                     int time = Integer.parseInt(tokens[2]);
  26.                     if (isIndexValid(ints, index)) {
  27.                         ints.set(index, time);
  28.                     }
  29.                 }
  30.                 break;
  31.                 case "Drop": {
  32.                     int index = Integer.parseInt(tokens[1]);
  33.                     if (isIndexValid(ints, index)) {
  34.                         ints.set(index, -1);
  35.                     }
  36.                 }
  37.                 break;
  38.                 case "Count": {
  39.                     String subCommand = tokens[1];
  40.                     switch (subCommand) {
  41.                         case "Completed": {
  42.                             System.out.println(ints.stream().filter(value -> value == 0).count());
  43.                         }
  44.                         break;
  45.                         case "Incomplete": {
  46.                             System.out.println(ints.stream().filter(value -> value > 0).count());
  47.                         }
  48.                         break;
  49.                         case "Dropped": {
  50.                             System.out.println(ints.stream().filter(value -> value < 0).count());
  51.                         }
  52.                         break;
  53.                     }
  54.                 }
  55.             }
  56.  
  57.             input = scanner.nextLine();
  58.         }
  59.  
  60.         System.out.println(String.join(" ",
  61.                 ints.stream().filter(integer -> integer > 0).
  62.                         collect(Collectors.toList()).toString().
  63.                         replaceAll("[\\[\\],]", "")));
  64.     }
  65.  
  66.     private static boolean isIndexValid(List<Integer> ints, int index) {
  67.         return index >= 0 && index < ints.size();
  68.     }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement