Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

needs to be done in Java language... --> not allowed any extra Java.io packages.

ID: 3727947 • Letter: N

Question

needs to be done in Java language...

--> not allowed any extra Java.io packages....

new accoun new account u: Update an account d: display an account p: Print all accounts m: Run monthly update q: Quit Enter your option Update an account display an account Print all accounts Run monthly update Quit nter your option Enter details of account holder2 Enter account type (s for savings, c for checking) Enter details of account holder 1 Enter account type (s for savings, c for checking) Enter account number 100 Enter first name of account holder : Anu Enter last name of account holder Thomas Enter phone number 132221234 Enter Email address: anu@anu.com Enter opening balance 1000 Enter minimum balance: 200 nter account number 101 Enter first name of account holder Enter last name of account holder nter phone number: 134441234 nter Email address com nter opening balance: Enter interest rate (should be a number in (e,1)): 1e a: Add new account u: Update an account d: display an account p: Print all accounts m: Run monthly update q: Quit Enter your option Add new account Update an account display an account Print all accounts Run monthly update Quit nter your option ter your option anking System of Account holders: countNumber: 101 Name San George Phone Number: 6134441234 Email Address: sam@sam.com Balance 2000.0 Fee: 10.0 : Add new account 100 Name : Anu Thonas Phone Number: 6132221234 Email Address : anu@anu.con Balance : 1000.0 Mininu. Balance : 200.0 Interest Rate: 0.2 182 Name Joe Smith Phone Number: 6135551234 Enail Address: joeêjoe.com Balance 1580.0 Minimum Balance 250.0 Interest Rate: 8.15 Update an account display an account Print all accounts Run monthly update Quit ter your option

Explanation / Answer

import java.util.Arrays; import java.util.Scanner; public class BankDemo { public static void menu() { System.out.println(); System.out.println("a->AddAccount"); System.out.println("u->UpdateAccount"); System.out.println("d->DisplayAccount"); System.out.println("p->Print All Accounts"); System.out.println("m->Run MonthlyUpdate"); System.out.println("q->break"); System.out.printf("Enter your option : "); } public static void main(String[] args) { Bank bank = new Bank(); int option = 0; Scanner scanner = new Scanner(System.in); do { menu(); option = scanner.next().charAt(0); if (option == 'a') { bank.addAccount(); } if (option == 'd') { bank.displayAccounts(); } if (option == 'p') { bank.printAccountDetails(); } if (option == 'u') { bank.updateAccount(); } if (option == 'm') { bank.monthlyUpdate(); } if (option == 'q') { break; } } while (true); } } class Bank { private BankAccount[] accounts; private int numAccounts = 0; private int sizeBank = 100; private Scanner scanner = new Scanner(System.in); public Bank() { this.accounts = new BankAccount[100]; this.sizeBank = 100; } public Bank(int sizeBank) { this.sizeBank = sizeBank; this.accounts = new BankAccount[this.sizeBank]; } public void addAccount() { if (numAccounts >= sizeBank) { System.out.println("No room"); return; } System.out.printf("Enter bank account type : "); char type = scanner.next().charAt(0); if (type == 'S' || type == 's' || type == 'C' || type == 'c') { System.out.printf("Acount Number : "); String number = scanner.next(); System.out.printf("Enter first Name of account holder : "); String firstName = scanner.nextLine(); System.out.printf("Enter last name of account holder : "); String lastName = scanner.nextLine(); System.out.printf("Enter phone number : "); String phoneNumber = scanner.nextLine(); System.out.printf("Enter email Address : "); String email = scanner.nextLine(); System.out.printf("Enter opening Balance : "); double balance = scanner.nextDouble(); System.out.printf("Enter minimum interest rate shold be (0,1) : "); double rate = scanner.nextDouble(); if (rate >= 0 && rate { if (x != null) { System.out.println(x); } }); } public void updateAccount() { System.out.printf("Enter account accountNumber: "); String id = scanner.next(); BankAccount findAccount = null; for (BankAccount account : accounts) { if (account != null && account.getAccountNumber().equalsIgnoreCase(id)) { findAccount = account; } } if (findAccount != null) { System.out.printf("Enter balance to update : "); double money = scanner.nextDouble(); findAccount.updateBalance(money); System.out.println(findAccount); } else { System.out.println("Not found"); } } public void monthlyUpdate() { for (BankAccount account : accounts) { if (account != null) { account.updateMonthlyBalance(); } } } } abstract class BankAccount { private String accountNumber; private String firstName; private String lastName; private String phoneNumber; private String email; private double balance; private double interestRate; public BankAccount(String accountNumber, double balance, String firstName, String lastName, String phoneNumber, String email, double interestRate) { this.accountNumber = accountNumber; this.balance = balance; this.firstName = firstName; this.lastName = lastName; this.phoneNumber = phoneNumber; this.email = email; this.interestRate = interestRate; } @Override public String toString() { return "Account Number = " + accountNumber + "First Name = " + firstName + "Last Name =" + lastName + "Email address = " + email + "Phone Number = " + phoneNumber + "Balance = " + balance + "Interest rate = " + interestRate; } public String getAccountNumber() { return accountNumber; } public void updateBalance(double balance) { this.balance = this.balance + balance; } public void updateMonthlyBalance() { this.updateBalance(this.balance * this.interestRate); } } class SavingAccount extends BankAccount { public SavingAccount(String accountNumber, double balance, String firstName, String lastName, String phoneNumber, String email, double interestRate) { super(accountNumber, balance, firstName, lastName, phoneNumber, email, interestRate); } @Override public String toString() { return "Savings account " + super.toString(); } } class ChequingAccount extends BankAccount { public ChequingAccount(String accountNumber, double balance, String firstName, String lastName, String phoneNumber, String email, double interestRate) { super(accountNumber, balance, firstName, lastName, phoneNumber, email, interestRate); } @Override public String toString() { return "Chequing Account " + super.toString(); } }