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

Discussion 2

Follow the attached instructions to complete this work. Using ChatGPT or another generative AI tool, you will request SQL code for a business problem using simple user requirement terms. Then you will plug that into MySQL to reverse engineer an ERD. You and your classmates will discuss misalignments between what

Week 10

Read attachment for details  Week 8 Feedback Overall Feedback Theory is one of the most difficult concept to grasp.  Your study must be based on a theory and align with what you are attempting to explore and what you are trying to answer based on previous gaps in research. Well

hw2

This problem exercises the basic concepts of game playing, using tic-tac-toe as an example.  We define Xn as the number of rows, columns, or diagonals with exactly n X’s and no O’s.  Similarly, On is the number of rows, columns, or diagonals with exactly n O’s.  The utility function assigns

Computer Science Homework 2

Homework 2. Question 1. Decision Tree Classifier [10 Points] Data: The zip file “ hw2.q1.data.zip” contains 3 CSV files: · “ hw2.q1.train.csv” contains 10,000 rows and 26 columns. The first column ‘ y’ is the output variable with 2 classes: 0, 1. The remaining 25 columns contain input features: x_1,

Incident Response

Please follow the PDF WGU Performance Assessment  Please create report attach is the doc file to use  also included are the lab results with screen shots of answer  -Create “Incident Reporting Template” with file attach -Use screenshot evidence document, in .docx format, generated by the virtual lab for guidance and

Week 8

Read attachment for details Theoretical Framework – Week 8 Hide Assignment Information Turnitin™ Turnitin™ enabledThis assignment will be submitted to Turnitin™. Instructions This week you will submit your theoretical framework. The following description for this section of your thesis is from the End of Program Manual (EOP): Theoretical Framework/Approach: The

In Basketball Stars, a player attempts 25 shots in one game.

  In  basketball stars, a player attempts 25 shots in one game. a) If 15 shots are successful, what is the player’s shooting percentage? b) The next game, the player makes 18 out of 30 shots. Compare the two shooting percentages. c) What is the overall shooting percentage across both

problem

Research problems due 9/18 Please follow the instructions carefully for your research problem. Your argument and research input will significantly impact your grade. Ensure that you check for AI-generated content and plagiarism before submitting your paper. AI-generated content should not exceed 10%, and content from external sources should be limited

co task 6

Topic-bitcoin Task 6 Objective: To apply systems thinking principles to analyze a blockchain network and understand its key components, interactions, and dynamics. Assignment Tasks: Select a Blockchain Network: Choose a specific blockchain network or cryptocurrency project to analyze. You can select well-known networks like Bitcoin, Ethereum, or any other blockchain

CO Task 5

In this homework, we explore Naïve Bayes, K-Nearest Neighbors, and Support Vector Machine models. 1) (50 points) Use “credit_Dataset.arff” dataset and apply the Naïve Bayes, K-Nearest Neighbors, and Support Vector Machine technique using the WEKA tool in 2 different settings, including: a. 10 fold-cross validation. b. 80% training. Write a

PhD thesis

I need a comprehensive PhD thesis developed on the topic of “Emotion-Aware Artificial Intelligence and Sustainable Consumer Behavior: A Neuro-AI Marketing Framework for Continuous Green Consumption.”

Co project

· Comprehensive Literature Review: Require a more comprehensive survey of existing approaches. · Comparative Study: Expect more detailed benchmarking of at least 8 to 10 machine learning models. · Additional Experiments: · Conduct feature selection or dimensionality reduction as an extra step. · Explore ensemble methods or advanced techniques beyond

AI

Did AI take place the Software Engineers, HR consultants and Data Entry Jobs?

Data visualization 4 part 2

Follow the attached instructions to complete this work. Unit 4 Assignment Directions: Time Series In this assignment, you will perform a time series analysis in Tableau. · Choose a dataset to analyze based on the requirements provided.   · Once you’ve selected your time series, build a forecast to predict future

Computer Science CG Assignment 8 presentation

Follow the attach instruction to complete this work. Note: Make sure it aligns with Rubric Unit 8 Assignment 2 Directions: Final Presentation Purpose With this presentation, you will gain valuable experience demonstrating your expertise in cybersecurity governance by presenting as a CISO to a hypothetical professional audience.  Directions Begin by incorporating

Computer Science CG assignment 8

Follow the attached assignment to complete the work. Note: Follow Rubric Unit 8 Assignment 1 Directions: Presentation Rehearsal Purpose The rehearsal is your first run-through of your talk. Use the opportunity to de-bug any technical issues with lighting, positioning, and recording. You will not be graded on technical or artistic

Computer Science CG assignment 7 Outline

 Follow the attached document to complete this work Unit 7 Assignment 1 Directions: Professional Presentation Outline Purpose This assignment allows you time to review your research from previous units and organize your thoughts in an outline format. Plan on changing your paper and presentation based on feedback on this outline.  Directions