Advertisement
Guest User

Untitled

a guest
Jan 9th, 2017
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.63 KB | None | 0 0
  1. public class Worker {
  2.  
  3.     private static Map<Long, User> userBase = new HashMap<>();
  4.     static Scanner scan = new Scanner(System.in);
  5.     public static long id = 0;
  6.  
  7.     public void startWork() {
  8.  
  9.         while (true) {
  10.  
  11.             /*
  12.              * userBase.get(1).client.createAccount(id, accountNumber);
  13.              *
  14.              * User user = userBase.get(1);
  15.              * user.client.createAccount(id,accountNumber);
  16.              *
  17.              * User user = userBase.get(1); Client client = user.client;
  18.              * client.createAccount(id, accountNumber);
  19.              */
  20.             System.out.println("Нажмите:");
  21.             System.out.println("1 - для создания пользователя");
  22.             System.out.println("2 - для отображения списка пользователей");
  23.             // System.out.println("3 - для остановки работы программы");
  24.  
  25.             int num = scan.nextInt();
  26.             /*
  27.              * String s = scan.nextLine(); int ch = Integer.parseInt(s);
  28.              */
  29.             switch (num) {
  30.             case 1:
  31.  
  32.                 // Создать пользователей, также клиентов и админа
  33.                 insertUser();
  34.                 break;
  35.             case 2:
  36.  
  37.                 // Получение все объекты клиентов по ид юзера.
  38.                 getAllUsers(id);
  39.                 break;
  40.             default:
  41.                 return;
  42.             }
  43.         }
  44.     }
  45.  
  46.     // Создать пользователей - Клиентов и администраторов
  47.     public static void insertUser() {
  48.  
  49.         Long id = getLastId();
  50.         String name;
  51.         String password;
  52.         String type;
  53.         User user;
  54.  
  55.         while (true) {
  56.             id++;
  57.             System.out.println("Нажмите:");
  58.             System.out.println("1 - для создания клиента");
  59.             System.out.println("2 - для создания администратора");
  60.             System.out.println("3 - действия с клиентом");
  61.  
  62.             /*
  63.              * String s = scan.nextLine(); int ch = Integer.parseInt(s);
  64.              */
  65.  
  66.             int ch = scan.nextInt();
  67.             switch (ch) {
  68.             case 1:
  69.  
  70.                 System.out.println("Введите имя клиента:");
  71.                 name = scan.next();
  72.                 System.out.println("Введите пароль:");
  73.                 password = scan.next();
  74.                 type = "Client";
  75.  
  76.                 user = new User(name, password, type);
  77.                 user.client = new Client(user);
  78.                 userBase.put((long) id, user);
  79.  
  80.                 /*
  81.                  * System.out.println("Введите номер счёта:"); String
  82.                  * accountNumber = scan.nextLine(); // номер
  83.                  * user.client.createAccount(id, accountNumber); // создаём
  84.                  * номер user.client.getAccount(); Account account =
  85.                  * user.client.createAccount(id, accountNumber);
  86.                  * System.out.println("Введите номер карты для счёта:"); String
  87.                  * cardNumber = scan.nextLine(); account.createCard(cardNumber);
  88.                  */
  89.  
  90.                 break;
  91.             case 2:
  92.                 System.out.println("Введите имя администратора:");
  93.                 name = scan.nextLine();
  94.                 System.out.println("Введите пароль:");
  95.                 password = scan.nextLine();
  96.                 type = "Admin";
  97.  
  98.                 user = new User(name, password, type);
  99.                 user.admin = new Admin(user);
  100.                 userBase.put((long) id, user);
  101.                 break;
  102.  
  103.             ////////////////
  104.             case 3:
  105.                 System.out.println("Введите ID клиента:");
  106.                 id = scan.nextLong();
  107.                 System.out.println("ID is: " + id);
  108.                 System.out.println("Нажмите:");
  109.                 System.out.println("1 - Создать счёт");
  110.                 System.out.println("2 - Отобразить все счета клиента");
  111.                 System.out.println("3 - Удалить счёт");
  112.  
  113.                 try {
  114.  
  115.                     int num = scan.nextInt();
  116.  
  117.                     /*
  118.                      * String stc = scan.nextLine(); int cth =
  119.                      * Integer.parseInt(stc);
  120.                      */
  121.  
  122.                     System.out.println("Выбран пункт №" + num);
  123.                     switch (num) {
  124.                     case 1:
  125.                         System.out.println("Введите номер счёта:");
  126.  
  127.                         Long accountNumber = scan.nextLong();
  128.                         // String accountNumber = scan.nextLine(); // номер
  129.                         userBase.get(id).client.createAccount(accountNumber); // создаём
  130.                                                                                 // номер
  131.  
  132.                         // user.client.getAccount();
  133.                         /*
  134.                          * Account account = user.client.createAccount(id,
  135.                          * accountNumber);
  136.                          * System.out.println("Введите номер карты для счёта:");
  137.                          * String cardNumber = scan.nextLine();
  138.                          * account.createCard(cardNumber);
  139.                          */
  140.                         break;
  141.                     case 2:
  142.                         userBase.get(1).client.getAccounts();
  143.                         //for (Account account : userBase.get(1).client.getAccounts()) {}
  144.                         break;
  145.                     case 3:
  146.                         System.out.println("Case3");
  147.                         break;
  148.                     default:
  149.                         System.out.println("Default");
  150.                         return;
  151.                     }
  152.                 } catch (NumberFormatException e) {
  153.                     System.out.println("Одно из чисел введено неверно");
  154.                 }
  155.  
  156.                 break;
  157.             ///////////////
  158.             default:
  159.                 return;
  160.             }
  161.  
  162.             break;
  163.         }
  164.  
  165.     }
  166.  
  167.     private static void getAllUsers(long id) {
  168.  
  169.         // Набор элементов
  170.         Set<Map.Entry<Long, User>> set = userBase.entrySet();
  171.  
  172.         // Отобразим набор
  173.         for (Map.Entry<Long, User> me : set) {
  174.             System.out.println(me.getKey() + ": " + me.getValue().type);
  175.             System.out.println("Name: " + me.getValue().username);
  176.             System.out.println("Password: " + me.getValue().password);
  177.             // accBase.get(me.getKey()).client.createAccount(id, accountNumber);
  178.             System.out.println("Accounts: ");
  179.             System.out.println();
  180.         }
  181.     }
  182.  
  183.     // получение наибольшего id
  184.     public static Long getLastId() {
  185.         Long result = (long) 0;
  186.         for (Entry<Long, User> entry : userBase.entrySet()) {
  187.             Long id = entry.getKey();
  188.             if (id > result) {
  189.                 result = id;
  190.             }
  191.         }
  192.         return result;
  193.     }
  194.  
  195. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement