Our Services

Get 15% Discount on your First Order

[rank_math_breadcrumb]

hw 5

please review the info below 

Write a program named bank.java that allows you to set up checking accounts and loan accounts.  This file should include 3 classes: Customer, CheckingAccount, LoanAccount.  The CheckingAccount and LoanAccount classes inherit from the Customer class.  Create an ArrayList of 5 Checking Account customers and an ArrayList of 5 Loan Account customers.

The program should be set up in a loop with the following menu options:
(1)  Bank Information (show BankBalance, Bank Transactions, Number Customers)
(2)  Print all Checking accounts
(3)  Deposit Money (ask user for the Record# and Amount)
(4)  Withdraw Money (ask user for the Record# and Amount)
(5)  Print all Loan accounts 
(6)  Make Loan (ask user for the Record# and Amount of Loan)
(7)  Make Payment (ask user for the Record# and Payment Amount)
(8)  Exit

Extra Credit: Have options to add and delete customers.

Customer Class

Variable Names

Variable Description

String FName, LName

Customer’s first and last name.

String Email

Customer’s e-mail address.

int CustomerTransactions

The total number of transactions (deposits and withdrawals) made by the customer.

static double BankBalance

The bank’s total balance (static).  You should change this variable when customers make deposits, withdrawals, take loans, and make loan payments.

static int NumberCustomers

The total number of customers at the bank (static).  Increment this variable in the CheckAccount and LoanAccount constructors.

 

CheckingAccount Class

Variable Names

Variable Description

private double CheckingBalance

The customer’s checking account balance.

Methods Names

Methods Description

CheckingAccount(String theLName, String theFName, String theEmail, double OpeningDeposit)

The constructor should (1) initialize the name and email variables,  (2) set CheckingBalance to OpeningDeposit,  (3)  add the OpeningDeposit to the BankBalance,  (5) increment NumberCustomers.

getCheckingBalance()

The Get method is needed since CheckingBalance is Private.

Deposit(Amount)

Deposit money into the customer’s account (include the amount as a parameter).  Remember to increment CustomerTransactions and add Amount to BankBalance.

Withdraw(Amount)

Withdraw money from the customer’s account (include the amount as a parameter).  If the customer overdrafts, charge a $25 fee.  Remember to increment CustomerTransactions and subtract Amount from BankBalance.

 

LoanAccount Class

Variable Names

Variable Description

private double LoanBalance

The customer’s remaining loan principle.

Methods Names

Methods Description

LoanAccount(String theLName, String theFName, String theEmail, double OpeningLoan)

The constructor should: (1) initialize the name and email,  (2) set LoanBalance to OpeningLoan * 1.25 for a 25% interest premium,  (3) subtract the OpeningLoan from BankBalance,  (4) increment NumberCustomers.

getLoanBalance()

Get method since LoanBalance is private

MakeLoan(Amount)

Add this amount and a 25% interest premium to the LoanBalance.  Remember to increment CustomerTransactions and subtract Amount from BankBalance.

MakePayment(Amount)

Subtract Amount from the LoanBalance.  If LoanBalance <= 0, output a message (e.g. “Customer X just payed off his/her loan!”).  Remember to increment CustomerTransactions and add Amount to BankBalance.


How to Declare an ArrayList of Objects

In your main program, declare two ArrayLists – one for CheckingAccount and one for LoanAccount.   You can use the data below to get started.

ArrayList<CheckingAccount> Check = new ArrayList<CheckingAccount>();
Check.add(new CheckingAccount(“Kirk”,”David”,”[email protected]”,10000.0));
Check.add(new CheckingAccount(“Spock”,”Mister”,”[email protected]”,500.0));
Check.add(new CheckingAccount(“Scott”,”Hulu”,”[email protected]”,75.0));

ArrayList<LoanAccount> Loan = new ArrayList<LoanAccount>();
Loan.add(new LoanAccount(“Zeus”,”Apollo”,”[email protected]”,5000));
Loan.add(new LoanAccount(“Einstein”,”Amy”,”[email protected]”,1000));
Loan.add(new LoanAccount(“Caesar”,”Julie”,”[email protected]”,500));

Printing all Accounts

To print all accounts you can use a for loop to step through each ArrayList element.

for (int i=0; i<Check.size(); i++)
{
   System.out.println (i + “\t” + Check.get(i).GetLName() + “, ” + Check.get(i).GetFName() + “\t” + Check.get(i).getCheckingBalance() + “\t” + Check.get(i).CustomerTransactions);
}

Retrieving (static) Bank Information

For the static variables, remember that you can use any of the array elements and either the Check class or Loan class – they all point to the same variable.  The following two lines give you the same answer:

System.out.println( Check.get(0).BankBalance );
System.out.println( Loan.get(0).BankBalance );

Example Output

//Option 1 to print bank information
====================================================
| Bank of Eastfield Information
|
| Total Bank Balance: 4075.0
| Total Bank Customers: 6
====================================================

//Option 2 to print checking accounts
====================================================
| Checking Accounts
| Rec Name           Balance   Transactions
| —————————————–
| 0   Kirk, David    10000.0   3
| 1   Spock, Mister  500.0     0
| 2   Scott, Hulu    75.0      2

//Option 3 to deposit money
====================================================
Enter checking record number:
2
Amount to deposit:
100
Scott Hulu now has $175.0
 

If not clear the screen shot is below

image1.jpeg

image2.png

image3.png

image4.png

image5.png

image6.png

Share This Post

Email
WhatsApp
Facebook
Twitter
LinkedIn
Pinterest
Reddit

Order a Similar Paper and get 15% Discount on your First Order

Related Questions

CO Data 2

   In this homework, we explore both linear and logistic regression models. Linear Regression 1)  (20 points) Apply linear regression on both “diabetes” and “advertising” datasets and write a short paragraph about your findings.  2) (20 points) What is the linear regression model for each case? Logistic Regression 1) (30

Asign 2 of CG

Follow the attached instructions to complete this work. Guidance to follow I encourage you to build your project format following the requirements established in each project’s final step. I am going to give you the key to success. I am a fan of headings/subheadings in the final project that directly

Assign 2 of CG

Follow the attach information to complete this work. Make sure it aligns with the Rubric. Unit 2 Assignment Directions: Risk-Assessment Strategy Purpose In this assignment, you will detail the risk-assessment plan and strategy for your organization that you described in your discussion post. You have demonstrated that you understand their

How to Bulk Open MBOX File Windows and Mac?

The best way to bulk open MBOX file Windows and Mac without using any email client is through an expert solution such as BitRecover MBOX Viewer. It runs on both OS and is completely free of cost. The best thing is it is easy to use, has multiple selection modes,

Data unit 2 assign

Follow the attach instructions to complete this work State State Bird State Motto Year of Admission Alaska Willow ptarmigan North to the Future 1959 Texas Northern mockingbird Friendship 1845 California California quail Eureka 1850 Montana Western meadowlark Oro y Plata 1889 New Mexico Greater roadrunner Crescit Eundo 1912 Arizona Cactus

Finding …. Theme

Follow the attached instructions to complete this work. Unit 2 Assignment: Finding themes using a Page 1 dashboard Milligan Chapters 7, 8, and 11 Unit 2 Assignment: Finding themes using a dashboard Milligan Chapters 7, 8, and 11 In this assignment, you will learn how to combine individual visualizations to

Data V of D3

Follow the attach instructions to complete this work Deconstruction of an Advanced Dashboard: Trends and Improvements   Discussion Prompts · Does the dashboard designer use any of the trends that are described in Milligan’s Chapter 9? · If they did use those trends, state which one(s), and describe what they

DV D2

Follow the attached instructions to complete this work also find the previous work attach to it.  Deconstructions of an Advanced Dashboard: Dashboard Approach and Storytelling   Task There is a discussion you will need to participate in this unit. Select the button that follows to access the discussion thread.  You

CG 5

Follow the attached instructions to complete this work. In Unit 1, you analyzed the NIST 2.0 Framework and then compared it to the administration’s approach to cybersecurity. In Unit 2, you will look more specifically at what it means to establish a risk-assessment approach for an organization and how that

Computer Science Digital Image Analysis Assignment

Can anyone create me any one from the assignment doc 1. Real-Time Image Super-Resolution for Video Streams · Description: Develop a system to enhance the resolution of low-quality video streams in real-time using Super-Resolution GANs (SRGAN) or ESRGAN. · Challenge: Ensure temporal consistency across frames, avoid artifacts, and maintain real-time

D1 of data

Follow the attached instructions to complete this work in an hour. Unit 1 Discussion: Deconstruction of an Advanced Dashboard: Identification of Purpose and Visualizations   Task 1. Go to  Viz of the Day 2. This website is hosted by Tableau Public, and new visualizations are posted daily. 3. Select one

D1 of Cg

Follow the attached instruction to complete this discussion Directions 1. Initial post: Respecting user privacy and ensuring data integrity are important ethical requirements of a CISO. They are requirements reflected in the internal governance approach to writing policies on how to manage access and control over data. You may add

Cyber 1

Follow the attach instructions to complete this work. Make sure it Aligns with Rubric. Unit 1 Assignment Directions: Administration Approach to Cybersecurity Purpose Write a 5-page paper analyzing 2023’s  National Cybersecurity Strategy Implementation Plan (NCSIP), which supports the NCS 2023, the Biden Administration’s approach to cybersecurity. Keep in mind that NIST

How to Convert OST files to PST?

Convert OST to PST using Shoviv OST to PST Converter (in steps): · Install and open OST to PST Converter tool · Add OST files you want to convert · Choose PST as the saving format · Select destination folder · Click Export to start conversion The tool converts OST

GainTools MBOX to PST Converter

GainTools MBOX to PST Converter is a powerful and easy-to-use program that can change MBOX files into PST files with 100% accuracy. It can convert several MBOX files at once, keeps the layout and attachments of the emails, and works with all major MBOX email clients. This makes it quick,

windowslivemailconverter

 <!–td {border: 1px solid #cccccc;}br {mso-data-placement:same-cell;}–> The best choice for the users is eSoftTools Windows Live Mail Converter software. It allows the users to convert their Live Mail profile emails into multiple formats as well as export Windows Live Mail emails to 8+ conversion and different cloud mail apps. It

Final CIS Project

 Scenario: A robot is sitting in a chair with its arms facing down. Write an algorithm, using pseudocode, to make the robot: 

What features define a successful AI Chatbot Development Company?

A successful AI Chatbot Development Company is defined by its ability to deliver intelligent, scalable, and user-friendly chatbot solutions powered by advanced AI and NLP. Key features include seamless integration, contextual conversation handling, real-time analytics, and enterprise-grade security—essential for enhancing customer support, boosting engagement, and automating workflows across diverse business