Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Java_Fundamentals.MidExam;
- import java.util.Arrays;
- import java.util.List;
- import java.util.Scanner;
- import java.util.stream.Collectors;
- public class TaskPlanner {
- private static boolean isIndexValid(List<Integer> taskInt, int index) {
- return 0 <= index && index < taskInt.size();
- }
- private static void counterComplete(List<Integer> tasks) {
- int countComplete = 0;
- for (Integer t : tasks) {
- if (t == 0) {
- countComplete++;
- }
- }
- System.out.println(countComplete);
- }
- private static void counterDrop(List<Integer> tasks) {
- int countDrop = 0;
- for (Integer t : tasks) {
- if (t == -1) {
- countDrop++;
- }
- }
- System.out.println(countDrop);
- }
- private static void counterIncomplete(List<Integer> tasks) {
- int countIncomplete = 0;
- for (Integer t : tasks) {
- if (t > 0) {
- countIncomplete++;
- }
- }
- System.out.println(countIncomplete);
- }
- private static void printIncomplete(List<Integer> tasks) {
- for (int i = 0; i < tasks.size(); i++) {
- int element = tasks.get(i);
- if (element > 0 && tasks.indexOf(element) < tasks.size() - 1) {
- System.out.printf("%d ", element);
- } else if (element > 0) {
- System.out.print(element);
- }
- }
- }
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- List<Integer> tasks = Arrays.stream(sc.nextLine().split(" ")).map(Integer::parseInt)
- .collect(Collectors.toList());
- String command = sc.nextLine();
- while (!command.equals("End")) {
- String[] commands = command.split(" +");
- String action = commands[0];
- switch (action) {
- case "Complete": {
- int index = Integer.parseInt(commands[1]);
- if (isIndexValid(tasks, index)) {
- tasks.set(index, 0);
- }
- break;
- }
- case "Change": {
- int index = Integer.parseInt(commands[1]);
- int time = Integer.parseInt(commands[2]);
- if (isIndexValid(tasks, index)) {
- tasks.set(index, time);
- }
- break;
- }
- case "Drop": {
- int index = Integer.parseInt(commands[1]);
- if (isIndexValid(tasks, index)) {
- tasks.set(index, -1);
- }
- break;
- }
- case "Count": {
- String comm = commands[1];
- switch (comm) {
- case "Completed":
- counterComplete(tasks);
- break;
- case "Incomplete":
- counterIncomplete(tasks);
- break;
- case "Dropped":
- counterDrop(tasks);
- break;
- default:
- break;
- }
- break;
- }
- default:
- break;
- }
- command = sc.nextLine();
- }
- printIncomplete(tasks);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement