Advertisement
RenSafaray

Untitled

May 6th, 2024
404
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.25 KB | None | 0 0
  1. import com.example.BankAccount; // Импортируем класс BankAccount из пакета com.example
  2. import com.example.CheckBalance; // Импортируем класс CheckBalance из пакета com.example
  3. import com.example.DepositWithdrawMoney; // Импортируем класс DepositWithdrawMoney из пакета com.example
  4.  
  5. import java.util.Hashtable; // Импортируем класс Hashtable из пакета java.util для хранения банковских счетов
  6. import java.util.Scanner; // Импортируем класс Scanner из пакета java.util для ввода данных с клавиатуры
  7.  
  8. public class Main { // Объявляем публичный класс Main
  9.     public static void main(String[] args) { // Объявляем публичный статический метод main, точку входа в программу
  10.  
  11.         // Создаем объект класса Scanner для ввода данных с клавиатуры
  12.         Scanner scanner = new Scanner(System.in);
  13.  
  14.         // Создаем объект класса Hashtable для хранения банковских счетов
  15.         Hashtable<String, BankAccount> accounts = new Hashtable<>();
  16.  
  17.         // Запускаем бесконечный цикл для отображения меню и обработки выбора пользователя
  18.         while (true) {
  19.  
  20.             // Выводим меню пропускной системы
  21.             System.out.println("\nМеню пропускной системы:");
  22.             System.out.println("1. Создать банковский счёт");
  23.             System.out.println("2. Проверить баланс");
  24.             System.out.println("3. Внести/снять деньги со счёта");
  25.             System.out.println("4. Выход");
  26.  
  27.             // Просим пользователя выбрать пункт меню и считываем его выбор
  28.             System.out.print("Выберите пункт меню: ");
  29.             int choice = scanner.nextInt();
  30.  
  31.             // Используем конструкцию switch-case для обработки выбора пользователя
  32.             switch (choice) {
  33.  
  34.                 // Создание банковского счета
  35.                 case 1:
  36.  
  37.                     // Считываем имя, дату рождения и кодовое слово
  38.                     System.out.print("Введите ФИО: ");
  39.                     String fullName = scanner.next();
  40.                     System.out.print("Введите дату рождения: ");
  41.                     String dateOfBirth = scanner.next();
  42.                     System.out.print("Введите кодовое слово: ");
  43.                     String codeWord = scanner.next();
  44.  
  45.                     // Создаем объект класса BankAccount и добавляем его в Hashtable
  46.                     BankAccount account = new BankAccount(fullName, dateOfBirth, codeWord);
  47.                     accounts.put(account.getAccountNumber(), account);
  48.  
  49.                     // Выводим сообщение об успешном создании счета
  50.                     System.out.println("Банковский счёт создан. Номер счета: " + account.getAccountNumber());
  51.                     break;
  52.  
  53.                 case 2:
  54.                     System.out.print("Введите номер счета: ");
  55.                     String accountNumber = scanner.next();
  56.  
  57.                     double balance = CheckBalance.getBalance(accounts, accountNumber);
  58.  
  59.                     if (balance >= 0) {
  60.                         System.out.println("Баланс счета: " + balance);
  61.                     } else {
  62.                         System.out.println("Счет не найден.");
  63.                     }
  64.                     break;
  65.  
  66.                 case 3:
  67.                     System.out.print("Введите номер счета: ");
  68.                     String inputAccountNumber = scanner.next();
  69.  
  70.                     // Находим счет по номеру счета
  71.                     BankAccount foundAccount = accounts.get(inputAccountNumber);
  72.  
  73.                     if (foundAccount != null) {
  74.                         System.out.print("Введите сумму для внесения/снятия (отрицательное значение для снятия): ");
  75.                         double amount = scanner.nextDouble();
  76.  
  77.                         if (amount > 0) {
  78.                             DepositWithdrawMoney.deposit(foundAccount, amount);
  79.                             System.out.println("Деньги успешно внесены на счет.");
  80.                         } else {
  81.                             DepositWithdrawMoney.withdraw(foundAccount, -amount);
  82.                             System.out.println("Деньги успешно сняты со счета.");
  83.                         }
  84.                     } else {
  85.                         System.out.println("Счет не найден.");
  86.                     }
  87.                     break;
  88.             }
  89.         }
  90.     }
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement