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

Appendix A: Banking program (This program is available for downloading) Write yo

ID: 3751867 • Letter: A

Question

Appendix A: Banking program

(This program is available for downloading)

Write your code as indicated. This code will not compile until you complete writing your code.

You should not modify the TestBank class.

public class TestBank { public static void main(String[] args){

Bank bank = new Bank();

bank.enterCustomers();

System.out.println();

System.out.println("==========================");

System.out.println("Opening account balance");

bank.printBalances();

System.out.println();

bank.banking();

System.out.println();

System.out.println("==========================");

System.out.println("Closing account balance");

bank.printBalances(); } }

class Bank { // write your code here }

class Account { // write your code here }

Banking Program You will create two Java classes to support the test program TestBank.java, which is provided in Appendix A. You will create two classes, Account and Bank. You should not modify the TestBank class as provided. Task 1: Account class You create your Account class according to the following requirements. Two attributes: name and balance to store customer's name and balance. They should not be directly accessed outside of the class; 1. 2. A constructor with two parameters for the name and balance 3. Two getter methods: getName and getBalance;

Explanation / Answer


Given below is the code for the question.
To indent code in eclipse , select code by pressing ctrl+a and then indent using ctrl+i
Please do rate the answer if it was helpful. Thank you


TestBank.java
-----------
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class TestBank { public static void main(String[] args){
Bank bank = new Bank();
bank.enterCustomers();
System.out.println();
System.out.println("==========================");
System.out.println("Opening account balance");
bank.printBalances();
System.out.println();
bank.banking();
System.out.println();
System.out.println("==========================");
System.out.println("Closing account balance");
bank.printBalances(); } }
class Bank {
private static List<Account> accounts = new ArrayList<Account>();
public static void enterCustomers(){
String name;
double balance;
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter customer names or q to quit entering names");
while(true){
System.out.print("Enter name: ");
name = keyboard.next();
if(name.equals("q") || name.equals("Q"))
break;
System.out.print("Enter opening balance: ");
balance = keyboard.nextDouble();
accounts.add(new Account(name, balance));
}
}
public static void printBalances(){
System.out.printf("%-15s %10s ", "Customer", "Balance");
System.out.println("==========================");
for(Account a: accounts){
System.out.printf("%-15s %10s ", a.getName(), String.format("$%.2f", a.getBalance()));
}
System.out.println("========================== ");
}

public static void banking(){
int choice = -1;
String name;
double amount;
Scanner keyboard = new Scanner(System.in);
Account acc;
while(choice != 0){
System.out.print("1. Deposit 2. Withdraw 0. Quit");
choice = keyboard.nextInt();
switch(choice){
case 1:
System.out.print("Customer name: ");
name = keyboard.next();
System.out.print("Deposit amount: ");
amount = keyboard.nextDouble();
acc = findAccount(name);
if(acc == null)
System.out.println("Customer not found");
else
acc.deposit(amount);
break;
case 2:
System.out.print("Customer name: ");
name = keyboard.next();
System.out.print("Withdrawal amount: ");
amount = keyboard.nextDouble();
acc = findAccount(name);
if(acc == null)
System.out.println("Customer not found");
else
acc.withdraw(amount);
break;
case 0:
break;
default:
System.out.println("Invalid choice!");
}
}
}
private static Account findAccount(String name){
for(Account a: accounts){
if(a.getName().equalsIgnoreCase(name))
return a;
}
return null;//not found
}
}

class Account
{
private String name;
private double balance;
public Account(String name, double balance){
this.name = name;
this.balance = balance;
}
public String getName() {
return name;
}
public double getBalance() {
return balance;
}
public void deposit(double amount){
if(amount > 0)
balance += amount;
}
public void withdraw(double amount){
if(amount > 0 && balance >= amount)
balance -= amount;
else
System.out.println("Insufficient balance");
}
}


output
------

Enter customer names or q to quit entering names
Enter name: Tim
Enter opening balance: 1000
Enter name: Sue
Enter opening balance: 1500.5
Enter name: Tom
Enter opening balance: 3000
Enter name: David
Enter opening balance: 4009.99
Enter name: q
==========================
Opening account balance
Customer Balance
==================================
Tim $1000.00
Sue $1500.50
Tom $3000.00
David $4009.99
==================================

1. Deposit 2. Withdraw 0. Quit1
Customer name: Tim
Deposit amount: 500
1. Deposit 2. Withdraw 0. Quit2
Customer name: Sue
Withdrawal amount: 1000.21
1. Deposit 2. Withdraw 0. Quit2
Customer name: David
Withdrawal amount: 2000
1. Deposit 2. Withdraw 0. Quit1
Customer name: Tom
Deposit amount: 1000
1. Deposit 2. Withdraw 0. Quit2
Customer name: Tim
Withdrawal amount: 1000
1. Deposit 2. Withdraw 0. Quit2
Customer name: Tim
Withdrawal amount: 1000
Insufficient balance
1. Deposit 2. Withdraw 0. Quit2
Customer name: Tim
Withdrawal amount: 500
1. Deposit 2. Withdraw 0. Quit0
==========================
Closing account balance
Customer Balance
==================================
Tim $0.00
Sue $500.29
Tom $4000.00
David $2009.99
==================================

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote