Loading...

Messages

Proposals

Stuck in your homework and missing deadline? Get urgent help in $10/Page with 24 hours deadline

Get Urgent Writing Help In Your Essays, Assignments, Homeworks, Dissertation, Thesis Or Coursework & Achieve A+ Grades.

Privacy Guaranteed - 100% Plagiarism Free Writing - Free Turnitin Report - Professional And Experienced Writers - 24/7 Online Support

Bank simulation java

21/12/2020 Client: saad24vbs Deadline: 3 days

banking/Account.java

banking/Account.java

package banking ;


import java . time . * ;

import java . util . * ;

import java . util . stream . Collectors ;


/**

 *

 * @author wpollock

 */

public abstract class Account implements Comparable < Account > {

     private static int nextId = 1 ;


     protected final Customer customer ;

     protected final String accountId ;

     protected String description ;

     protected final LocalDateTime creationDate ;

     // protected StatementCycle statementCycle; // An enum representing any

     // // possible statement cycle

     protected double balance ;

     protected List < Transaction > transactions = new ArrayList <> ();


     /**

     * @param cust Customer owning this account

     * @param initialBalance Current balance

     * @param accountDescription A description

     */

     public Account ( Customer cust , double initialBalance ,

             String accountDescription ) {

         this . customer = cust ;

         this . creationDate = LocalDateTime . now ();

         this . accountId = "" ;

         // Stub

     }


     /**

     * @param amount The amount to deposit

     */

     public abstract void deposit ( double amount );


     /**

     * If the account doesn't have sufficient funds for the specified

     * amount, an insufficient funds fee (penalty) is charged on the

     * account.

     * @param amount The amount to withdraw

     */

     public abstract void withdraw ( double amount );


     /** Transfer funds between two accounts of a single customer.

     *

     * @param fromAccount The source of the funds

     * @param toAccount The account in which the funds will be deposited

     * @param amount The amount to transfer

     */

     public static void transfer ( Account fromAccount , Account toAccount ,

             double amount ) {

         // Stub

     }


     /**

     * @return The description for this account

     */

     public String getAccountDescription () {

         return null ; // Stub

     }


     /**

     * @param accountDescription The replacement description of this account

     */

     public void setAccountDescription ( String accountDescription ) {

         // Stub

     }


     /**

     * @return The current account balance

     */

     public double getBalance () {

         return 0.00 ; // Stub

     }


     /**

     * @return read-only view of the account's transaction list

     */

     public List < Transaction > getTransactions () {

         return null ; // Stub

     }


     /**

     * @param transactionId The id of the transaction to search for

     * @return the matching transaction

     * @throws IllegalArgumentException when no such transaction exists

     */

     public Transaction getTransaction ( int transactionId ) {

         return null ; // Stub

     }


     /**

     * @return Account's ID

     */

     public String getAccountId () {

         return null ; // Stub

     }


     /**

     * @return the customer who owns this account

     */

     public String getCustomerId () {

         return null ; // Stub

     }


     /**

     * @return The date and time the account was created.

     */

     public LocalDateTime getAccountCreationDate () {

         return null ; // Stub

     }


    @ Override

     public int hashCode () {

         return 0 ; // Stub

     }


    @ Override

     public boolean equals ( Object obj ) {

         return false ; // Stub

     }


    @ Override

     public int compareTo ( Account other ) {

         return 1 ; // Stub

     }


    @ Override

     public String toString () {

         return null ; // Stub

     }

}

banking/Bank.java

banking/Bank.java

package banking ;


import java . util . * ;

import java . util . stream . Collectors ;


/**

 * @author wpollock

 *

 */

public class Bank {

     private final String NAME ;

     private final Map < String , Customer > customers = new HashMap <> ();

     private double insufficientFundsPenalty = 10.00 ; // Default, in dollars


     /** Creates a new Bank object with the given name.

     *

     * @param name Name of the bank

     */

     public Bank ( String name ) {

         this . NAME = "" ; // Stub

     }


     /** Starts up the Bank simulator

     * @param args command line arguments - ignored

     */

     public static void main ( String [] args ) {

         System . out . println ( "Hello from Bank" ); // Stub

     }


     /**

     * @return the insufficientFundsPenalty

     */

     public double getInsufficientFundsPenalty () {

         return insufficientFundsPenalty ;

     }


     /**

     * @param insufficientFundsPenalty the insufficientFundsPenalty to set

     */

     public void setInsufficientFundsPenalty ( double insufficientFundsPenalty ) {

         // Stub

     }


     /**

     * @return the name

     */

     public String getNAME () {

         return NAME ;

     }


     /** Adds a new bank account

     *

     */

     public void addAccountWizard () {

         // Stub

     }


     /** Generates a report of all current accounts, in account ID order

     * @return A list of all accounts of all customers of this bank, sorted

     * by ID.

     *

     */

     public SortedSet < Account > getAllAccounts () {

         // for each customer, get accounts and add to sorted set.

         return null ; //Stub

     }


     /** Add a new customer to the bank, using a GUI form

     *

     */

     public void addCustomerWizard () {

     }


     /** Add a new customer to the bank.

     * @param lastName Customer's last (sur- or family) name

     * @param firstName Customer's first (or given) name

     * @return the customer's ID

     */

     public String addCustomer ( String lastName , String firstName ) {

         return null ; // Stub

     }


     /** Deletes a customer from the bank.

     * (In reality, just marks the customer as non-current.)

     * @param customerId the ID of the customer to remove

     */

     public void removeCustomer ( String customerId ) {

         // Stub

     }


     /** Generates a report of all current customers, in customer ID order

     * @return SortedSet of all customers at this bank.

     */

     public SortedSet < Customer > getAllCustomers () {

         return null ; // Stub

     }


     /** Get a Customer object, given a customer's ID

     *

     * @param customerId The ID of the customer

     * @return That customer's Account, or null

     */

     public Customer getCustomer ( String customerId ) {

         return null ; // Stub

     }


     /** Get a List of Customer objects, given a customer's last and

     * first names

     *

     * @param lastName The customer's last name

     * @param firstName The customer's first name

     * @return a List of Customers with that first and last name,

     * or null if no such customer exists

     */

     public List < Customer > getCustomer ( String lastName , String firstName ) {

         return null ; // Stub

     }


     /** Return a List of a given customer's accounts (if any)

     *

     * @param customerId The Customer ID who's account list is desired.

     * @return a List of the accounts of that customer, if any.

     */

     public List < Account > getCustomersAccounts ( String customerId ) {

         return null ; // Stub

     }

}

banking/Customer.java

banking/Customer.java

package banking ;


import java . util . * ;


/**

 * @author wpollock

 *

 */

public class Customer implements Comparable < Customer > {

     private static int nextId = 1 ;


     private final Bank bank ;

     private final String customerId ;

     private final String lastName ;

     private final String firstName ;

     private final SortedSet < Account > customerAccounts = new TreeSet <> ();


     /** Creates a new Customer object from a name.

     * Note for this project, we assume bank names are unique.

     * @param bank The bank owning this account

     * @param lastName The last name of the account owner.

     * @param firstName The first name of the account owner.

     */

     public Customer ( Bank bank , String lastName , String firstName ) {

         this . bank = null ;

         this . customerId = "" ;

         this . lastName = "" ;

         this . firstName = "" ;

         // Stub

     }


     /**

     * @return the bank

     */

     public Bank getBank () {

         return null ; // Stub

     }


     /** Getter for customer's ID

     * @return The customer's ID

     */

     public String getCustomerId () {

         return null ; // Stub

     }


     /** Getter for the customer's last name

     * @return The customer's last name

     */

     public String getLastName () {

         return null ; // Stub

     }


     /** Getter for the customer's first name

     * @return The customer's first name

     */


     public String getFirstName () {

         return null ; // Stub

     }


     /** Returns a read-only SortedSet of the customer's active

     * accounts (if any)

     *

     * @return an immutable SortedSet of accounts (check for

     * immutability of accounts; use a List?)

     */

     public SortedSet < Account > getCustomerAccounts () {

         return null ; // Stub

     }


     /** Returns the total fees (including penalties) paid by this customer

     * for year-to-date

     *

     * @return YTD fees paid

     */

     public double ytdFees () {

         return 0.0 ; // Stub

     }


     /** Returns the total interest paid to this customer for year-to-date

     * @return YTD interest payed

     */

     public double ytdInterest () {

         return 0.0 ; // Stub

     }


     /** Adds a new bank account

     * @param initBal Initial balance

     * @param desc A description for the account, chosen by the customer

     * @return the newly added account object

     */

     public SavingsAccount addSavingsAccount ( double initBal , String desc ) {

         return null ; // Stub

     }


     /** Deletes a given account (in the real world, just marks it as defunct

     * or something)

     * @param accountId the ID of the account to remove

     */

     public void removeAccount ( String accountId ) {

         // Stub

     }


     /** Find an account given an account ID

     *

     * @param accountId The ID of the desired account

     * @return The Account object, or null if no such account

     */

     public Account getAccount ( String accountId ) {

         return null ; // Stub

     }


    @ Override

     public String toString () {

         return "" ; // Stub

     }


    @ Override

     public int hashCode () {

         return 0 ; // Stub

     }


    @ Override

     public boolean equals ( Object obj ) {

         return false ; // Stub

     }


    @ Override

     public int compareTo ( Customer other ) {

         return 1 ; // Stub

     }

}

banking/SavingsAccount.java

banking/SavingsAccount.java

package banking ;


import static banking . TransactionType . * ;


/**

 * @author wpollock

 *

 */

public class SavingsAccount extends Account {

     // Default monthly interest rate, applied on last day of statement cycle:

     private static double DEFAULT_INTEREST_RATE = 2.0 ; // a percent


     /** SavingsAccount constructor, using default interest rate.

     * @param cust The customer that owns this account

     * @param initialBalance The initial account balance

     * @param description An account description provided by the owner

     */

     public SavingsAccount ( Customer cust , double initialBalance ,

             String description ) {

         super ( cust , initialBalance , description );

     }


     /** SavingsAccount constructor, using a custom interest rate.

     * @param cust The customer that owns this account

     * @param initialBalance The initial account balance

     * @param description An account description provided by the owner

     * @param interestRate Account's default monthly interest rate

     */

     public SavingsAccount ( Customer cust , double initialBalance ,

             String description , double interestRate ) {

         super ( cust , initialBalance , description );

         // Stub

     }


    @ Override

     public void deposit ( double amount ) {

         // Stub

     }


    @ Override

     public void withdraw ( double amount ) {

         // Stub

     }


     /** Adds a transaction "INTEREST PAYMENT" based on this account's

     * monthly interest rate.

     * @param rate Interest rate to apply, as a percentage (e.g. 2.1".

     */

     public void addInterestTransaction ( double rate ) {

         // Stub

     }


     /**

     * @return the interestRate

     */

     public static double getDefaultInterestRate () {

         return 0.00 ; // Stub

     }


     /**

     * @param interestRate the interestRate to set

     */

     public static void setDefaultInterestRate ( double interestRate ) {

         // Stub

     }

}

banking/Transaction.java

banking/Transaction.java

package banking ;


import java . time . * ;


/**

 * @author wpollock

 *

 */

public class Transaction implements Comparable < Transaction > {

     private static int nextID = 1 ;


     private final int id ;

     private final LocalDateTime timestamp ;

     private final TransactionType type ;

     private final double amount ;

     private final String description ;

     /**

     * @param type The type of this transaction

     * @param amount The amount of the transaction

     * @param description The description of the transaction.

     * This may include check numbers, memo, payee, etc.

     */

     public Transaction ( TransactionType type , double amount ,

             String description ) {

         this . id = 1 ;

         this . type = null ;

         this . amount = 0.00 ;

         this . description = "" ;

         this . timestamp = LocalDateTime . now ();

         // Stub

     }


     /**

     * @return the id

     */

     public int getId () {

         return 0 ; // Stub

     }


     /**

     * @return the timestamp for this transaction

     */

     public LocalDateTime getTimestamp () {

         return null ; // Stub

     }


     /**

     * @return the transaction type

     */

     public TransactionType getType () {

         return null ; // Stub

     }


     /**

     * @return the amount of this transaction.

     * Transaction amounts are always positive.

     */

     public double getAmount () {

         return 0.00 ; // Stub

     }


     /**

     * @return the description

     */

     public String getDescription () {

         return null ; // Stub

     }


    @ Override

     public String toString () {

         return "" ; // Stub

     }


    @ Override

     public int hashCode () {

         return 1 ; // Stub

     }


    @ Override

     public boolean equals ( Object obj ) {

         return false ; // Stub

     }


    @ Override

     public int compareTo ( Transaction other ) {

         return 0 ; // Stub

     }


}

banking/TransactionType.java

banking/TransactionType.java

package banking ;


/** A list of the possible types of transactions in the banking simulation.

 * @author wpollock

 *

 */

public enum TransactionType {

    DEPOSIT , WITHDRAWAL , INTEREST , CHECK , FEE , PENALTY , ADJUSTMENT ;

}

Applied Sciences

Architecture and Design

Biology

Business & Finance

Chemistry

Computer Science

Geography

Geology

Education

Engineering

English

Environmental science

Spanish

Government

History

Human Resource Management

Information Systems

Law

Literature

Mathematics

Nursing

Physics

Political Science

Psychology

Reading

Science

Social Science

Home

Blog

Archive

Contact

google+twitterfacebook

Copyright © 2019 HomeworkMarket.com

Homework is Completed By:

Writer Writer Name Amount Client Comments & Rating
Instant Homework Helper

ONLINE

Instant Homework Helper

$36

She helped me in last minute in a very reasonable price. She is a lifesaver, I got A+ grade in my homework, I will surely hire her again for my next assignments, Thumbs Up!

Order & Get This Solution Within 3 Hours in $25/Page

Custom Original Solution And Get A+ Grades

  • 100% Plagiarism Free
  • Proper APA/MLA/Harvard Referencing
  • Delivery in 3 Hours After Placing Order
  • Free Turnitin Report
  • Unlimited Revisions
  • Privacy Guaranteed

Order & Get This Solution Within 6 Hours in $20/Page

Custom Original Solution And Get A+ Grades

  • 100% Plagiarism Free
  • Proper APA/MLA/Harvard Referencing
  • Delivery in 6 Hours After Placing Order
  • Free Turnitin Report
  • Unlimited Revisions
  • Privacy Guaranteed

Order & Get This Solution Within 12 Hours in $15/Page

Custom Original Solution And Get A+ Grades

  • 100% Plagiarism Free
  • Proper APA/MLA/Harvard Referencing
  • Delivery in 12 Hours After Placing Order
  • Free Turnitin Report
  • Unlimited Revisions
  • Privacy Guaranteed

6 writers have sent their proposals to do this homework:

Top Essay Tutor
Homework Guru
University Coursework Help
Helping Hand
Writer Writer Name Offer Chat
Top Essay Tutor

ONLINE

Top Essay Tutor

I have more than 12 years of experience in managing online classes, exams, and quizzes on different websites like; Connect, McGraw-Hill, and Blackboard. I always provide a guarantee to my clients for their grades.

$235 Chat With Writer
Homework Guru

ONLINE

Homework Guru

Hi dear, I am ready to do your homework in a reasonable price and in a timely manner.

$232 Chat With Writer
University Coursework Help

ONLINE

University Coursework Help

Hi dear, I am ready to do your homework in a reasonable price.

$232 Chat With Writer
Helping Hand

ONLINE

Helping Hand

I am an Academic writer with 10 years of experience. As an Academic writer, my aim is to generate unique content without Plagiarism as per the client’s requirements.

$230 Chat With Writer

Let our expert academic writers to help you in achieving a+ grades in your homework, assignment, quiz or exam.

Similar Homework Questions

AB_C_Framework - Bcu accounting and finance - Book Review - Lol u tk him 2da bar - Earth science cyclonic weather systems lab answers - Nurse practitioner fnp cover letter - OtisLine Case Study - Air ct8510 ha k9 - Chinese small feet tradition - 52a birksgate drive urrbrae - Atkins physical chemistry 10th edition solution - Crypto Week 10 discussion - Tell city furniture catalog - Education Assistance - Statewide waste and resource recovery infrastructure plan - Brix value of molasses - Read the case study "Teloxy Engineering (A)" and answer the corresponding questions on the same page. 100 words answer per question - Economics Article Review - Oral Language and Literacy Development PPT - Physics classroom static electricity - A secularist believes in absolute truth - Integrative essay #1 - WHAT IS BLACKNESS? - 2 responses - Investingonline org - Lamb to the slaughter foreshadowing - Bellmac cartons pty ltd - The castle language techniques - Partnership for aflatoxin control in africa - Paper Due Sunday - Bayasian techniques - 4 beacons moreton bay map - Nursing teaching plan apa format - Praxis source based essay sample - The ideas of armchair criminologists achieve acclaim in all but which of the following ways? - Explain how ahima's data quality management model works - Help with post - Gang of youths fremantle arts centre - Fill in the gaps in the following table - Hackman and oldham model - HA575 DQ10 - Shaping psych - Http au ixl com math year 6 - Thank you for your interest in working with us - I have two assignments - Analyze and contrast - Cultural considerations presentation - BE- Paper-1 - Ccna 3 chapter 5 exam answers - Python full course - How to install sunlite polycarbonate roofing - Dr aydin huq hospitalized - Atwood machine practice problems with answers - For the Studios That Refuse to Be Small - Break even sales under present and proposed conditions - Journal Assignment - Context level of data flow diagram - Cheating spouses in historic aztec tribes - Late adulthood interview questions - What were the limitations of the emancipation proclamation - Organ Leader dis - Fowler's stages of faith - A genre's iconography consists of - Free waxing consent form - Week 4 HIDS or AntiVirus Systems Research Paper - When implementing a focus strategy the firm seeks to - Bonjour comment ca va - Advantages of archimedes principle - Kingspan structural roof deck - Different styles of drama - ACTIVE DIRECTORY RECOMMENDATIONS - Ikea saudi arabia catalogue 2019 - Jainism vs sikhism worksheet - Paraverbal communication cues include - How to annotate a short story - Dragon ball super pdf download - Health insurance tax penalty australia - Bd high commission sydney camp - Need help with assignment - MKT/435 WEEK 5 - Southport a and e - H2o2 to o2 half equation - Theme of blindness in the great gatsby - Para lavarse el pelo carlos usa crema de afeitar - Teesside university blackboard login - Suppose that rob and big both raise animals and sell them. because rob and big have different - Intermediate accounting chapter 21a solutions pdf - 3d robotics disrupting the drone market case analysis - How to change the subject of a formula with powers - 3 phase pole mounted transformer - Criminal justice capstone topics - Fundamentals of entrepreneurship ppt - Case study on conveyor belt - Faith hill videos youtube - Fin 571 financial ratio analysis - Earth day network ecological footprint quiz - Homework Question - Cbi breakers price list - Import export power meter - Which exchange rate forecast technique should mncs use