0% found this document useful (0 votes)
16 views

Astitwo Java Code

The document defines an Account class with fields like customer ID, name, and balance. It also defines an AccountDriver class with a main method that uses a menu to allow users to add accounts, display accounts, deposit/withdraw from accounts, and apply annual interest. The program stores accounts in an ArrayList and uses the Account class methods like deposit() and withdraw() to manipulate individual accounts.

Uploaded by

Prasiddha Panta
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

Astitwo Java Code

The document defines an Account class with fields like customer ID, name, and balance. It also defines an AccountDriver class with a main method that uses a menu to allow users to add accounts, display accounts, deposit/withdraw from accounts, and apply annual interest. The program stores accounts in an ArrayList and uses the Account class methods like deposit() and withdraw() to manipulate individual accounts.

Uploaded by

Prasiddha Panta
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

Code:

import java.util.ArrayList;
import java.util.Scanner;

class Account {
private int custID;
private String custName;
private double balance;
private static double annualInterestRate = 0.03; // 3% annual interest rate

public Account(int custID, String custName, double balance) {


this.custID = custID;
this.custName = custName;
this.balance = balance;
}

public int getCustID() {


return custID;
}

public String getCustName() {


return custName;
}

public double getBalance() {


return balance;
}

public void deposit(double amount) {


balance += amount;
}

public void withdraw(double amount) {


if (amount <= balance) {
balance -= amount;
} else {
System.out.println("Insufficient balance.");
}
}

public void applyInterest() {


balance += balance * annualInterestRate;
}
public static void setAnnualInterestRate(double rate) {
annualInterestRate = rate;
}
}

public class AccountDriver {


public static void main(String[] args) throws Exception{
Scanner scanner = new Scanner(System.in);
ArrayList<Account> accounts = new ArrayList<>();

while (true) {
System.out.println("Menu:");
System.out.println("1. Add account");
System.out.println("2. Display individual account");
System.out.println("3. Display all accounts");
System.out.println("4. Deposit to individual account");
System.out.println("5. Withdraw from individual account");
System.out.println("6. Financial Year ending");
System.out.println("7. Exit");

System.out.print("Enter your choice: ");


int choice = scanner.nextInt();
scanner.nextLine(); // Consume the newline character

switch (choice) {
case 1:
System.out.print("Enter customer ID: ");
int custID = scanner.nextInt();
scanner.nextLine(); // Consume the newline character

System.out.print("Enter customer name: ");


String custName = scanner.nextLine();

System.out.print("Enter initial balance: ");


double initialBalance = scanner.nextDouble();

Account account = new Account(custID, custName,


initialBalance);
accounts.add(account);
System.out.println("Account added successfully!");
break;

case 2:
System.out.print("Enter customer ID to display account: ");
int displayCustID = scanner.nextInt();
displayIndividualAccount(accounts, displayCustID);
break;

case 3:
displayAllAccounts(accounts);
break;

case 4:
System.out.print("Enter customer ID for deposit: ");
int depositCustID = scanner.nextInt();
System.out.print("Enter deposit amount: ");
double depositAmount = scanner.nextDouble();
depositToIndividualAccount(accounts, depositCustID,
depositAmount);
break;

case 5:
System.out.print("Enter customer ID for withdrawal: ");
int withdrawCustID = scanner.nextInt();
System.out.print("Enter withdrawal amount: ");
double withdrawAmount = scanner.nextDouble();
withdrawFromIndividualAccount(accounts, withdrawCustID,
withdrawAmount);
break;

case 6:
for (Account acc : accounts) {
acc.applyInterest();
}
System.out.println("Interest applied for all accounts.");
break;

case 7:
System.out.println("Exiting the program.");
scanner.close();
System.exit(0);
break;

default:
System.out.println("Invalid choice. Please try again.");
}
}
}
public static void displayIndividualAccount(ArrayList<Account> accounts, int
custID) {
for (Account account : accounts) {
if (account.getCustID() == custID) {
System.out.println("Customer ID: " + account.getCustID());
System.out.println("Customer Name: " + account.getCustName());
System.out.println("Balance: " + account.getBalance());
return;
}
}
System.out.println("Account not found with Customer ID: " + custID);
}

public static void displayAllAccounts(ArrayList<Account> accounts) {


System.out.println("All Accounts:");
for (Account account : accounts) {
System.out.println("Customer ID: " + account.getCustID());
System.out.println("Customer Name: " + account.getCustName());
System.out.println("Balance: " + account.getBalance());
System.out.println();
}
}

public static void depositToIndividualAccount(ArrayList<Account> accounts,


int custID, double amount) {
for (Account account : accounts) {
if (account.getCustID() == custID) {
account.deposit(amount);
System.out.println("Deposit successful. New balance: " +
account.getBalance());
return;
}
}
System.out.println("Account not found with Customer ID: " + custID);
}

public static void withdrawFromIndividualAccount(ArrayList<Account>


accounts, int custID, double amount) {
for (Account account : accounts) {
if (account.getCustID() == custID) {
account.withdraw(amount);
System.out.println("Withdrawal successful. New balance: " +
account.getBalance());
return;
}
}
System.out.println("Account not found with Customer ID: " + custID);
}
}

Screenshot:

You might also like