Bangeev

MovingTarget

Feb 9th, 2022
497
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.36 KB | None | 0 0
  1. package FundMidExapTraining;
  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 MovingTarget {
  10.     public static void main(String[] args) {
  11.         Scanner scanner = new Scanner(System.in);
  12.  
  13.         List<Integer> numsList = Arrays.stream(scanner.nextLine().split(" ")).map(Integer::parseInt).collect(Collectors.toList());
  14.  
  15.         List<String> command = Arrays.stream(scanner.nextLine().split(" ")).collect(Collectors.toList());
  16.         List<Integer> placeHolders = new ArrayList<>();
  17.  
  18.         while (!command.get(0).equals("End")) {
  19.  
  20.             String firstCommand = command.get(0);
  21.             int secondCommand = Integer.parseInt(command.get(1));
  22.             int thirdCommand = Integer.parseInt(command.get(2));
  23.  
  24.             if (firstCommand.equals("Shoot")) {
  25.                 if (secondCommand < numsList.size() && secondCommand >= 0) {
  26.                     numsList.set(secondCommand, numsList.get(secondCommand) - thirdCommand);
  27.                     if (numsList.get(secondCommand) <= 0) {
  28.                         numsList.remove(secondCommand);
  29.                     }
  30.                 }
  31.             } else if (firstCommand.equals("Add")) {
  32.                 if (secondCommand < numsList.size() && secondCommand >= 0) {
  33.                     numsList.add(secondCommand, thirdCommand);
  34.                 } else {
  35.                     System.out.println("Invalid placement!");
  36.                 }
  37.             } else if (firstCommand.equals("Strike")) {
  38.                 if (secondCommand - thirdCommand >= 0 && secondCommand + thirdCommand < numsList.size()) {
  39.                     for (int i = secondCommand - thirdCommand; i <= secondCommand + thirdCommand; i++) {
  40.  
  41.  
  42.                         placeHolders.add(numsList.get(i));
  43.  
  44.                     }
  45.                     numsList.removeAll(placeHolders);
  46.                 }else {
  47.                     System.out.println("Strike missed!");
  48.                 }
  49.             }
  50.  
  51.  
  52.             command = Arrays.stream(scanner.nextLine().split(" ")).collect(Collectors.toList());
  53.         }
  54.  
  55.         List<String> result = new ArrayList<>();
  56.         for (int i = 0; i < numsList.size(); i++) {
  57.             result.add(i, String.valueOf(numsList.get(i)));
  58.         }
  59.  
  60.         System.out.println(String.join("|", result));
  61.     }
  62. }
  63.  
Advertisement
Add Comment
Please, Sign In to add comment