Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.telerikacademy.core;
- import java.util.Scanner;
- public class Main {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- String command = scanner.nextLine();
- String[][] usersData = new String[4][2];
- // main loop
- while (!command.equals("end")) {
- String[] commandArgs = command.split(" ");
- switch (commandArgs[0]) {
- case "register": {
- registration(commandArgs, usersData);
- break;
- }
- case "delete" :{
- delete(commandArgs, usersData);
- break;
- }
- }
- // read next command
- command = scanner.nextLine();
- }
- }
- public static String ANSI_RESET = "\u001B[0m";
- public static String ANSI_BLACK = "\u001B[30m";
- public static String ANSI_RED = "\u001B[31m";
- public static String ANSI_GREEN = "\u001B[32m";
- public static void registration(String[] commandArgs, String [][] usersData){
- // validate arguments
- if (commandArgs.length < 3) {
- System.out.println(ANSI_RED + "Too few parameters." + ANSI_RESET);
- return;
- }
- String username = commandArgs[1];
- String password = commandArgs[2];
- // validate username
- if (username.length() < 3) {
- System.out.println(ANSI_RED + "Username must be at least 3 characters long." + ANSI_RESET);
- return;
- }
- // validate password
- if (password.length() < 3) {
- System.out.println(ANSI_RED + "Password must be at least 3 characters long." + ANSI_RESET);
- return;
- }
- // check if username exists
- boolean usernameExists = false;
- for (int i = 0; i < usersData.length; i++) {
- if (username.equals(usersData[i][0])) {
- usernameExists = true;
- }
- }
- if (usernameExists) {
- System.out.println(ANSI_RED + "Username already exists." + ANSI_RESET);
- return;
- }
- // find free slot
- int freeSlotIndex = -1;
- for (int i = 0; i < usersData.length; i++) {
- if (usersData[i][0] == null) {
- freeSlotIndex = i;
- }
- }
- // no free slots
- if (freeSlotIndex == -1) {
- System.out.println(ANSI_RED + "The system supports a maximum number of 4 users." + ANSI_RESET);
- return;
- }
- // save user
- usersData[freeSlotIndex][0] = username;
- usersData[freeSlotIndex][1] = password;
- System.out.println(ANSI_GREEN + "Registered user." + ANSI_RESET);
- }
- public static void delete (String [] commandArgs, String [][] usersData){
- // validate arguments
- if (commandArgs.length < 3) {
- System.out.println(ANSI_RED + "Too few parameters." + ANSI_RESET);
- return;
- }
- String username = commandArgs[1];
- String password = commandArgs[2];
- // validate username
- if (username.length() < 3) {
- System.out.println(ANSI_RED + "Username must be at least 3 characters long" + ANSI_RESET);
- return;
- }
- // validate password
- if (password.length() < 3) {
- System.out.println(ANSI_RED + "Password must be at least 3 characters long." + ANSI_RESET);
- return;
- }
- // find account to delete
- int accountIndex = -1;
- for (int i = 0; i < usersData.length; i++) {
- if (username.equals(usersData[i][0]) && password.equals(usersData[i][1])) {
- accountIndex = i;
- }
- }
- if (accountIndex == -1) {
- System.out.println(ANSI_RED + "Invalid account/password." + ANSI_RESET);
- return;
- }
- usersData[accountIndex][0] = null;
- usersData[accountIndex][1] = null;
- System.out.println(ANSI_GREEN + "Deleted account." + ANSI_RESET);
- }
- }
Add Comment
Please, Sign In to add comment