Advertisement
Guest User

Untitled

a guest
Apr 6th, 2020
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.61 KB | None | 0 0
  1. package ru.ref;
  2.  
  3. import java.util.Arrays;
  4. import java.util.List;
  5. import java.util.Scanner;
  6.  
  7. public class Demo {
  8.  
  9.     private static Scanner scanner = new Scanner(System.in);
  10.  
  11.     public static void main(String[] args) {
  12.         final Account accountSberbank = new Account("0987654321123456", "Meshkova Ekaterina");
  13.         final Account accountVtb = new Account("1234567890123456", "Meshkova Ekaterina");
  14.  
  15.         final Account.Card cardSberbankMastercard = accountSberbank.new Card("СберМастер", "2332 45554 6776 8998", accountSberbank);
  16.         final Account.Card cardSberbankWorld = accountSberbank.new Card("Сбер", "1234 5678 2345 3456", accountSberbank);
  17.         final Account.Card cardVtbWorld = accountVtb.new Card("ВТБ", "1221 2332 3443 4554", accountVtb);
  18.         String str = "да";
  19.         while (str.equals("да")) {
  20.             mapSelection(Arrays.asList(cardSberbankWorld, cardSberbankMastercard, cardVtbWorld));
  21.             System.out.println("Что-то ещё?");
  22.             str = scanner.next();
  23.             if (str.equals("нет")) {
  24.                 break;
  25.             }
  26.         }
  27.         //распечатать остатки на картах
  28.         System.out.println("Конец");
  29.     }
  30.  
  31.     //пополнение карты
  32.     private static void replenishmentCard(Account.Card card) {
  33.         System.out.println("Введите какую сумму вы хотите положить на карту");
  34.         int amountToDeposit = scanner.nextInt();
  35.         card.replenish(amountToDeposit);
  36.         System.out.println("Баланс " + card.getName() + ": " + card.getAccount().getAmount());
  37.     }
  38.  
  39.     //метод снятия денег
  40.     private static void removalCard(Account.Card card) {
  41.         System.out.println("Введите какую сумму вы хотите снять с карты");
  42.         int amountToWithdraw = scanner.nextInt();
  43.         card.withdraw(amountToWithdraw);
  44.         System.out.println("Баланс " + card.getName() + ": " + card.getAccount().getAmount());
  45.     }
  46.  
  47.     //выбор действия над картой
  48.     private static void chooseAct(final Account.Card card) {
  49.         System.out.println("Если вы хотите положить деньги на карту нажмите 1, если снять нажмите 2");
  50.         int choice = scanner.nextInt();
  51.         switch (choice) {
  52.             case 1:
  53.                 replenishmentCard(card);
  54.                 break;
  55.             case 2:
  56.                 removalCard(card);
  57.                 break;
  58.             default:
  59.                 System.out.println("Ввести можно только 1 либо 2");
  60.                 break;
  61.         }
  62.     }
  63.  
  64.     /**
  65.      * Метод, который предлагает Вам выбрать карту
  66.      * с которой будут проводиться дальнейшие действия
  67.      */
  68.     private static void mapSelection(List<Account.Card> cards) {
  69.         System.out.println("Выберите карту с которой хотите провести операцию:");
  70.         for (int i = 0; i < cards.size(); i++) {
  71.             System.out.println("Порядковый номер " + (i + 1) + ". Название карты: " + cards.get(i).getName() + " Номер карты:" + cards.get(i).getNumber());
  72.         }
  73.         int choice = scanner.nextInt() - 1;
  74.         if (choice < 0 || choice > cards.size() - 1) {
  75.             System.out.println("Неправильно выбрана карта");
  76.             return;
  77.         }
  78.         chooseAct(cards.get(choice));
  79.     }
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement