This Java project aims to create a visual banking system using JOptionPane
for user interaction. The system allows users to register, access their accounts, make withdrawals, deposits, and request loans. It also utilizes inheritance and superclasses to manage account information.
During the development of this project, I encountered several challenges:
-
Graphical User Interface (GUI): Implementing a user-friendly GUI using
JOptionPane
for account registration and operations was a significant challenge. Ensuring that the interface was intuitive and easy to navigate required careful design. -
Account Creation Logic: Designing the logic to create different types of accounts (Individual and Business) based on user input presented its own set of challenges. Handling user input and validating it for account creation was crucial.
-
Account Access and Operations: Allowing users to access their accounts, perform transactions like withdrawals, deposits, and loan requests while ensuring the security of sensitive information required careful planning.
This class represents a person with attributes such as name
, age
, cpf
, and cnpj
(tax identification numbers). It contains basic getters and setters for these attributes.
This class extends Person
and represents an account. It includes attributes like balance
, code
(account code), accountType
(account type), password
(account password), and loan
(loan amount). The methods within this class allow for account creation, access, withdrawals, deposits, and loan requests.
The Main
class orchestrates the entire program. It manages user interactions, allowing them to create accounts, search for existing accounts, and perform operations like viewing account information and making transactions.
-
Account Creation:
- Users are prompted to enter their age and select an account type (Individual or Business).
- Depending on the selection, the user may need to provide additional information like CPF or CNPJ.
-
Account Access:
- Users can search for existing accounts by providing the account name.
- Once found, users can perform operations like withdrawals, deposits, and loan requests.
-
Withdrawals:
- Users can withdraw a specified amount, provided that the account balance is sufficient.
-
Deposits:
- Users can deposit a specified amount into their account.
-
Loan Requests:
- Users can request a loan, subject to certain limits and conditions.
This banking system project provided a practical application of Java programming principles, emphasizing object-oriented principles, user interface design, and inheritance. It required careful consideration of user interactions, security measures, and account management.
The project successfully achieved its objectives, and future improvements may involve enhanced user authentication, transaction history, and additional security features.
Note: The code presented has been summarized for documentation purposes and may contain omitted sections for brevity.