iLLcheff

In-Class Activity

Nov 17th, 2022
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.11 KB | None | 0 0
  1. package com.telerikacademy.core;
  2.  
  3. import java.util.Scanner;
  4.  
  5. public class Main {
  6.     public static void main(String[] args) {
  7.  
  8.         Scanner scanner = new Scanner(System.in);
  9.         String command = scanner.nextLine();
  10.         String[][] usersData = new String[4][2];
  11.  
  12.         // main loop
  13.         while (!command.equals("end")) {
  14.             String[] commandArgs = command.split(" ");
  15.             switch (commandArgs[0]) {
  16.                 case "register": {
  17.                     registration(commandArgs, usersData);
  18.                     break;
  19.                 }
  20.                 case "delete" :{
  21.                     delete(commandArgs, usersData);
  22.                     break;
  23.                 }
  24.             }
  25.  
  26.             // read next command
  27.             command = scanner.nextLine();
  28.         }
  29.     }
  30.     public static String ANSI_RESET = "\u001B[0m";
  31.     public static String ANSI_BLACK = "\u001B[30m";
  32.     public static String ANSI_RED = "\u001B[31m";
  33.     public static String ANSI_GREEN = "\u001B[32m";
  34.     public static void registration(String[] commandArgs, String [][] usersData){
  35.         // validate arguments
  36.         if (commandArgs.length < 3) {
  37.             System.out.println(ANSI_RED + "Too few parameters." + ANSI_RESET);
  38.             return;
  39.         }
  40.  
  41.         String username = commandArgs[1];
  42.         String password = commandArgs[2];
  43.  
  44.         // validate username
  45.         if (username.length() < 3) {
  46.             System.out.println(ANSI_RED + "Username must be at least 3 characters long." + ANSI_RESET);
  47.             return;
  48.         }
  49.  
  50.         // validate password
  51.         if (password.length() < 3) {
  52.             System.out.println(ANSI_RED + "Password must be at least 3 characters long." + ANSI_RESET);
  53.             return;
  54.         }
  55.  
  56.         // check if username exists
  57.         boolean usernameExists = false;
  58.         for (int i = 0; i < usersData.length; i++) {
  59.             if (username.equals(usersData[i][0])) {
  60.                 usernameExists = true;
  61.             }
  62.         }
  63.  
  64.         if (usernameExists) {
  65.             System.out.println(ANSI_RED + "Username already exists." + ANSI_RESET);
  66.             return;
  67.         }
  68.  
  69.         // find free slot
  70.         int freeSlotIndex = -1;
  71.         for (int i = 0; i < usersData.length; i++) {
  72.             if (usersData[i][0] == null) {
  73.                 freeSlotIndex = i;
  74.             }
  75.         }
  76.  
  77.         // no free slots
  78.         if (freeSlotIndex == -1) {
  79.             System.out.println(ANSI_RED + "The system supports a maximum number of 4 users." + ANSI_RESET);
  80.             return;
  81.         }
  82.  
  83.         // save user
  84.         usersData[freeSlotIndex][0] = username;
  85.         usersData[freeSlotIndex][1] = password;
  86.  
  87.         System.out.println(ANSI_GREEN + "Registered user." + ANSI_RESET);
  88.     }
  89.     public static void delete (String [] commandArgs, String [][] usersData){
  90.         // validate arguments
  91.         if (commandArgs.length < 3) {
  92.             System.out.println(ANSI_RED + "Too few parameters." + ANSI_RESET);
  93.             return;
  94.         }
  95.  
  96.         String username = commandArgs[1];
  97.         String password = commandArgs[2];
  98.  
  99.         // validate username
  100.         if (username.length() < 3) {
  101.             System.out.println(ANSI_RED + "Username must be at least 3 characters long" + ANSI_RESET);
  102.             return;
  103.         }
  104.  
  105.         // validate password
  106.         if (password.length() < 3) {
  107.             System.out.println(ANSI_RED + "Password must be at least 3 characters long." + ANSI_RESET);
  108.             return;
  109.         }
  110.  
  111.         // find account to delete
  112.         int accountIndex = -1;
  113.         for (int i = 0; i < usersData.length; i++) {
  114.             if (username.equals(usersData[i][0]) && password.equals(usersData[i][1])) {
  115.                 accountIndex = i;
  116.             }
  117.         }
  118.  
  119.         if (accountIndex == -1) {
  120.             System.out.println(ANSI_RED + "Invalid account/password." + ANSI_RESET);
  121.             return;
  122.         }
  123.  
  124.         usersData[accountIndex][0] = null;
  125.         usersData[accountIndex][1] = null;
  126.  
  127.         System.out.println(ANSI_GREEN + "Deleted account." + ANSI_RESET);
  128.     }
  129. }
  130.  
Add Comment
Please, Sign In to add comment