Giter Club home page Giter Club logo

software-dev-simple-banking-system's Introduction

software-dev-simple-banking-system

Simple Banking System with Exception Handling, Create a Java program that simulates a simple banking system, allowing users to deposit, withdraw, and check their account balance while handling various exceptions.

Requirements:

  1. Create a BankAccount class with the following attributes: a. accountNumber (a unique integer) b. balance (double) representing the account balance c. Implement methods in the BankAccount class for deposit, withdrawal, and checking the balance while handling exceptions such as insufficient funds, invalid input, and custom exceptions.

  2. Create a custom exception called InsufficientFundsException that is thrown when a withdrawal is attempted with insufficient funds.

  3. Develop a BankingApp class to interact with users. a. Allow users to deposit, withdraw, and check balance, and handle exceptions by providing helpful error messages. b. Implement a menu-driven user interface for the banking app, allowing users to perform operations repeatedly until they choose to exit. c. Use try-catch blocks to handle exceptions and provide detailed error messages.

  4. Implement input validation to ensure that user input is in the correct format (eg, no negative deposits or withdrawals, valid account numbers).

  5. Add support for multiple accounts (eg, using a ArrayList of BankAccount objects) and allow users to select an account by entering an account number.

  6. Implement a feature to save account data to a file (eg, using serialization or text files) so that account information is retained between program runs.

During the program:

• Use try-catch blocks, custom exceptions, and good error messages to make the program user-friendly and robust.

• Make use of encapsulation, creating meaningful custom exceptions, and modular code design.

• Ensure you test your program with various inputs to verify the correctness of exception handling.

software-dev-simple-banking-system's People

Contributors

obrien-michael avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.