SHARE
TWEET

Friendlist Maintenance

dimytar11 Feb 26th, 2020 100 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import java.util.ArrayList;
  2. import java.util.List;
  3. import java.util.Scanner;
  4.  
  5. public class FriendListMaintanance {
  6.     public static void main(String[] args) {
  7.         Scanner scan = new Scanner(System.in);
  8.  
  9.         String[] input = scan.nextLine().split(", ");
  10.         List<String> friendsList = new ArrayList<>();
  11.         for (String value : input) {
  12.             friendsList.add(value);
  13.         }
  14.  
  15.         String command = scan.nextLine();
  16.         int blacklistedCnt = 0;
  17.         int lostNamesCnt = 0;
  18.         while (!command.equals("Report")) {
  19.             String[] tokens = command.split("\\s+");
  20.             String task = tokens[0];
  21.  
  22.             switch (task) {
  23.                 case "Blacklist":
  24.                     String name = tokens[1];
  25.                     if (friendsList.contains(name)) {
  26.                         friendsList.set(friendsList.indexOf(name), "Blacklisted");
  27.                         System.out.println(String.format("%s was blacklisted.", name));
  28.                         blacklistedCnt++;
  29.                     } else {
  30.                         System.out.println(String.format("%s was not found.", name));
  31.                         break;
  32.                     }
  33.                     break;
  34.  
  35.                 case "Error":
  36.                     int index = Integer.parseInt(tokens[1]);
  37.                     String nameInErrorCase = friendsList.get(index);
  38.                     if (index <= friendsList.size() - 1 && index >= 0) {
  39.                         if (!nameInErrorCase.equals("Blacklisted") && !nameInErrorCase.equals("Lost")) {
  40.                             friendsList.set(index, "Lost");
  41.                             System.out.println(String.format("%s was lost due to an error.", nameInErrorCase));
  42.                             lostNamesCnt++;
  43.                         }
  44.                     } else {
  45.                         break;
  46.                     }
  47.                     break;
  48.                 case "Change":
  49.                     int indexInChangeCase = Integer.parseInt(tokens[1]);
  50.                     String newName = tokens[2];
  51.                     if (indexInChangeCase >= 0 && indexInChangeCase <= friendsList.size() - 1) {
  52.                         friendsList.set(indexInChangeCase, newName);
  53.                         System.out.println(String.format("%s changed his username to %s.", input[indexInChangeCase], newName));
  54.                     } else {
  55.                         break;
  56.                     }
  57.                     break;
  58.             }
  59.             command = scan.nextLine();
  60.         }
  61.  
  62.         System.out.println(String.format("Blacklisted names: %d", blacklistedCnt));
  63.         System.out.println(String.format("Lost names: %d", lostNamesCnt));
  64.         for (String value : friendsList) {
  65.             System.out.print(String.format(value + " "));
  66.         }
  67.     }
  68. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top