Advertisement
lifesaver800

Contact List

Feb 28th, 2020
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.63 KB | None | 0 0
  1. import java.util.*;
  2. import java.util.stream.Collectors;
  3.  
  4. public class ContactList {
  5.     public static void main(String[] args) {
  6.         Scanner scanner = new Scanner(System.in);
  7.  
  8.         List<String> contacts = Arrays.stream(scanner.nextLine().split(" ")).collect(Collectors.toList());
  9.  
  10.         while (true) {
  11.             String[] tokens = scanner.nextLine().split(" ");
  12.             String command = tokens[0];
  13.             switch (command) {
  14.                 case "Add": {
  15.                     String name = tokens[1];
  16.                     int index = Integer.parseInt(tokens[2]);
  17.                     if (contacts.contains(name)) {
  18.                         if (isValidIndex(contacts, index)) {
  19.                             contacts.add(index, name);
  20.                         }
  21.                     } else {
  22.                         contacts.add(name);
  23.                     }
  24.                     break;
  25.                 }
  26.                 case "Remove": {
  27.                     int index = Integer.parseInt(tokens[1]);
  28.                     if (isValidIndex(contacts, index)) {
  29.                         contacts.remove(index);
  30.                     }
  31.                     break;
  32.                 }
  33.                 case "Export": {
  34.                     int index = Integer.parseInt(tokens[1]);
  35.                     int count = Integer.parseInt(tokens[2]);
  36.                     int maxValue = index + count;
  37.  
  38.                         if (maxValue > contacts.size()) {
  39.                             maxValue = contacts.size();
  40.                         }
  41.                         for (int i = index; i < maxValue; i++) {
  42.                             System.out.print(contacts.get(i) + " ");
  43.                         }
  44.                         System.out.println();
  45.                     break;
  46.                 }
  47.                 case "Print": {
  48.                     switch (tokens[1]) {
  49.                         case "Normal": {
  50.                             System.out.print("Contacts: ");
  51.                             System.out.println(String.join(" ", contacts));
  52.                             return;
  53.                         }
  54.                         case "Reversed": {
  55.                             Collections.reverse(contacts);
  56.                             System.out.print("Contacts: ");
  57.                             System.out.println(String.join(" ", contacts));
  58.                             return;
  59.                         }
  60.                     }
  61.                     break;
  62.                 }
  63.             }
  64.         }
  65.     }
  66.  
  67.     private static boolean isValidIndex(List<String> contacts, int index) {
  68.         return 0 <= index && index < contacts.size();
  69.     }
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement