|
@@ -7,77 +7,139 @@ public class Bank {
|
|
|
|
|
|
* Голова списка счетов банка
|
|
|
*/
|
|
|
- private Bill Head;
|
|
|
+ private static Bill head;
|
|
|
|
|
|
|
|
|
* Счётчик клиентов банка. Обновлятся при добавлении нового клиента или удалении старого счёта.
|
|
|
*/
|
|
|
- private int count;
|
|
|
+ private static int count;
|
|
|
|
|
|
- private String name;
|
|
|
+
|
|
|
+ * Наименование банка
|
|
|
+ */
|
|
|
+ private static String name;
|
|
|
|
|
|
|
|
|
- * Конструктор открывающий банк
|
|
|
+ * Возвращает количество клиентов
|
|
|
*
|
|
|
- * @param name наименование банка
|
|
|
+ * @return размер списка
|
|
|
*/
|
|
|
- public Bank(String name) {
|
|
|
- this.name = name;
|
|
|
- }
|
|
|
-
|
|
|
- public int getClientCount() {
|
|
|
+ public static int getClientCount() {
|
|
|
return count;
|
|
|
}
|
|
|
|
|
|
- public String getName() {
|
|
|
+
|
|
|
+ * Возвращает наименование банка
|
|
|
+ *
|
|
|
+ * @return название
|
|
|
+ */
|
|
|
+ public static String getName() {
|
|
|
return name;
|
|
|
}
|
|
|
|
|
|
- public void insert(String passport, String phone, String name, double balance) {
|
|
|
+
|
|
|
+ * Задать наименование банка
|
|
|
+ *
|
|
|
+ * @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;
|
|
|
+ if (head == null) {
|
|
|
+ head = newBill;
|
|
|
} else {
|
|
|
- Bill last = Head;
|
|
|
+ Bill last = head;
|
|
|
|
|
|
- while (last.Next != null) {
|
|
|
- last = last.Next;
|
|
|
+ while (last.next != null) {
|
|
|
+ last = last.next;
|
|
|
}
|
|
|
|
|
|
- last.Next = newBill;
|
|
|
+ last.next = newBill;
|
|
|
}
|
|
|
|
|
|
count++;
|
|
|
}
|
|
|
|
|
|
- public void insertAt(int indexAfter, String passport, String phone, String name, double balance) {
|
|
|
+
|
|
|
+ * Вставить новый элемент после указанного 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;
|
|
|
+ Bill current = head;
|
|
|
if (indexAfter > count) {
|
|
|
- while (current.Next != null) {
|
|
|
- current = current.Next;
|
|
|
+ while (current.next != null) {
|
|
|
+ current = current.next;
|
|
|
}
|
|
|
} else {
|
|
|
int index = 1;
|
|
|
|
|
|
while (index < indexAfter) {
|
|
|
- current = current.Next;
|
|
|
+ current = current.next;
|
|
|
index++;
|
|
|
}
|
|
|
|
|
|
- newBill.Next = current.Next;
|
|
|
+ newBill.next = current.next;
|
|
|
}
|
|
|
- current.Next = newBill;
|
|
|
+ current.next = newBill;
|
|
|
}
|
|
|
|
|
|
- public void ShowClientsInfo() {
|
|
|
- Bill current = Head;
|
|
|
+
|
|
|
+ * Вывод информации о всех клиентах в консоль
|
|
|
+ */
|
|
|
+ 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;
|
|
|
+ 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) {
|
|
|
+
|
|
|
+ }
|
|
|
}
|