123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- package com.company;
- /**
- * Класс реализующий "банк"
- */
- public class Bank {
- /**
- * Голова списка счетов банка
- */
- private static Bill head;
- /**
- * Счётчик клиентов банка. Обновлятся при добавлении нового клиента или удалении старого счёта.
- */
- private static int count;
- /**
- * Наименование банка
- */
- private static String name;
- /**
- * Возвращает количество клиентов
- *
- * @return размер списка
- */
- public static int getClientCount() {
- return count;
- }
- /**
- * Возвращает наименование банка
- *
- * @return название
- */
- public static String getName() {
- return name;
- }
- /**
- * Задать наименование банка
- *
- * @param name имя банка
- */
- public static void setName(String name) {
- Bank.name = name;
- }
- /**
- * Вставить новый элемент в конец списока (открытие нового счёта)
- *
- * @param passport серия и номер паспорта
- * @param phone мобильный телефон
- * @param name фамилия и имя клиента
- * @param balance начальный баланс
- */
- public static void insert(String passport, String phone, String name, double balance) {
- Bill newBill = new Bill(balance, passport, phone, name, count);
- if (head == null) {
- head = newBill;
- } else {
- Bill last = head;
- while (last.next != null) {
- last = last.next;
- }
- last.next = newBill;
- }
- count++;
- }
- /**
- * Вставить новый элемент после указанного indexAfter (открытие ранее удалённого счёта)
- *
- * @param indexAfter индекс элемента, после которого будет вставлен новый
- * @param passport серия и номер паспорта клиента
- * @param phone мобильный телефон
- * @param name фамилия и имя клиента
- * @param balance начальный баланс
- */
- public static void insertAt(int indexAfter, String passport, String phone, String name, double balance) {
- Bill newBill = new Bill(balance, passport, phone, name, count);
- Bill current = head;
- if (indexAfter > count) {
- while (current.next != null) {
- current = current.next;
- }
- } else {
- int index = 1;
- while (index < indexAfter) {
- current = current.next;
- index++;
- }
- newBill.next = current.next;
- }
- current.next = newBill;
- }
- /**
- * Вывод информации о всех клиентах в консоль
- */
- public static void showClientsInfo() {
- Bill current = head;
- while (current != null) {
- System.out.printf("Bill number: %s; Client: %s; Passport: %s; Phone: %s; Balance: %.2f;\n", current.getNumber(), current.getName(), current.getPassport(), current.getPhone(), current.getBalance());
- current = current.next;
- }
- }
- /**
- * Пополнить баланс
- *
- * @param value пополняемое значение
- * @param bill пополняемый номер счёта
- */
- public static void deposit(double value, String bill) {
- }
- /**
- * Списать баланс
- *
- * @param value списываемое значение
- * @param bill номер счёта для списания
- */
- public static void withdraw(double value, String bill) {
- }
- /**
- * Разорвать договор с банком (удалить счёт)
- *
- * @param bill номер удаляемого счёта
- */
- public static void delete(String bill) {
- }
- }
|