Advertisement
Guest User

Tasks Planner

a guest
Aug 4th, 2019
430
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.58 KB | None | 0 0
  1. package Java_Fundamentals.MidExam;
  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 TaskPlanner {
  9.     private static boolean isIndexValid(List<Integer> taskInt, int index) {
  10.         return 0 <= index && index < taskInt.size();
  11.     }
  12.  
  13.     private static void counterComplete(List<Integer> tasks) {
  14.         int countComplete = 0;
  15.         for (Integer t : tasks) {
  16.             if (t == 0) {
  17.                 countComplete++;
  18.             }
  19.         }
  20.         System.out.println(countComplete);
  21.     }
  22.  
  23.     private static void counterDrop(List<Integer> tasks) {
  24.         int countDrop = 0;
  25.         for (Integer t : tasks) {
  26.             if (t == -1) {
  27.                 countDrop++;
  28.             }
  29.         }
  30.         System.out.println(countDrop);
  31.     }
  32.  
  33.     private static void counterIncomplete(List<Integer> tasks) {
  34.         int countIncomplete = 0;
  35.         for (Integer t : tasks) {
  36.             if (t > 0) {
  37.                 countIncomplete++;
  38.             }
  39.         }
  40.         System.out.println(countIncomplete);
  41.     }
  42.  
  43.     private static void printIncomplete(List<Integer> tasks) {
  44.         for (int i = 0; i < tasks.size(); i++) {
  45.             int element = tasks.get(i);
  46.             if (element > 0 && tasks.indexOf(element) < tasks.size() - 1) {
  47.                 System.out.printf("%d ", element);
  48.             } else if (element > 0) {
  49.                 System.out.print(element);
  50.             }
  51.         }
  52.     }
  53.  
  54.     public static void main(String[] args) {
  55.         Scanner sc = new Scanner(System.in);
  56.  
  57.         List<Integer> tasks = Arrays.stream(sc.nextLine().split(" ")).map(Integer::parseInt)
  58.                 .collect(Collectors.toList());
  59.  
  60.         String command = sc.nextLine();
  61.         while (!command.equals("End")) {
  62.             String[] commands = command.split(" +");
  63.             String action = commands[0];
  64.             switch (action) {
  65.                 case "Complete": {
  66.                     int index = Integer.parseInt(commands[1]);
  67.                     if (isIndexValid(tasks, index)) {
  68.                         tasks.set(index, 0);
  69.                     }
  70.                     break;
  71.                 }
  72.                 case "Change": {
  73.                     int index = Integer.parseInt(commands[1]);
  74.                     int time = Integer.parseInt(commands[2]);
  75.                     if (isIndexValid(tasks, index)) {
  76.                         tasks.set(index, time);
  77.                     }
  78.                     break;
  79.                 }
  80.                 case "Drop": {
  81.                     int index = Integer.parseInt(commands[1]);
  82.                     if (isIndexValid(tasks, index)) {
  83.                         tasks.set(index, -1);
  84.                     }
  85.                     break;
  86.                 }
  87.                 case "Count": {
  88.                     String comm = commands[1];
  89.                     switch (comm) {
  90.                         case "Completed":
  91.                             counterComplete(tasks);
  92.                             break;
  93.                         case "Incomplete":
  94.                             counterIncomplete(tasks);
  95.                             break;
  96.                         case "Dropped":
  97.                             counterDrop(tasks);
  98.                             break;
  99.                         default:
  100.                             break;
  101.                     }
  102.                     break;
  103.                 }
  104.                 default:
  105.                     break;
  106.             }
  107.             command = sc.nextLine();
  108.         }
  109.         printIncomplete(tasks);
  110.     }
  111. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement