Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 16

Entity

Class Account

package com.canddella.entity;

public class Account {

private String accountNo;


private String accountType;
private String AccountCreateDate;
private int balance;
public Account(String accountNo, String accountType, String
accountCreateDate, int balance) {

this.accountNo = accountNo;
this.accountType = accountType;
this.AccountCreateDate = accountCreateDate;
this.balance = balance;
}
public String getAccountNo() {
return accountNo;
}
public void setAccountNo(String accountNo) {
this.accountNo = accountNo;
}
public String getAccountType() {
return accountType;
}
public void setAccountType(String accountType) {
this.accountType = accountType;
}
public String getAccountCreateDate() {
return AccountCreateDate;
}
public void setAccountCreateDate(String accountCreateDate) {
AccountCreateDate = accountCreateDate;
}
public int getBalance() {
return balance;
}
public void setBalance(int balance) {
this.balance = balance;
}

Class customer

package com.canddella.entity;

public class Customer {

private String customerCode;


private String customerName;
private Account account;
public Customer(String customerCode, String customerName, Account
account) {
super();
this.customerCode = customerCode;
this.customerName = customerName;
this.account = account;
}
public String getCustomerCode() {
return customerCode;
}
public void setCustomerCode(String customerCode) {
this.customerCode = customerCode;
}
public String getCustomerName() {
return customerName;
}
public void setCustomerName(String customerName) {
this.customerName = customerName;
}
public Account getAccount() {
return account;
}
public void setAccount(Account account) {
this.account = account;
}

Rural Account

package com.canddella.entity;

import java.util.Scanner;

import com.canddella.depositservice.AtmDeposit;

public class RuralAccount extends Account implements AtmDeposit {

public RuralAccount(String accountNo, String accountType, String accountCreateDate, int


balance) {
super(accountNo, accountType, accountCreateDate, balance);

@Override

public void atmDeposit() {

Scanner scanner = new Scanner(System.in);

System.out.println("Enter the Account Number");

String accountNo=scanner.nextLine();

System.out.println("Enter the deposit Amount");

int deposit = scanner.nextInt();

int totalbalance = deposit + getBalance();

setBalance(totalbalance);

System.out.println("The updated balance is"+getBalance());

Savings account

package com.canddella.entity;

import java.util.Scanner;
import com.canddella.depositservice.AtmDeposit;

import com.canddella.depositservice.CashDeposit;

public class SalaryAccount extends Account implements CashDeposit,AtmDeposit {

public SalaryAccount(String accountNo, String accountType, String accountCreateDate, int


balance) {

super(accountNo, accountType, accountCreateDate, balance);

@Override

public void cashDeposit() {

Scanner scanner = new Scanner(System.in);

System.out.println("Enter the deposit Amount");

int deposit = scanner.nextInt();

int totalbalance = deposit + getBalance();

setBalance(totalbalance);

System.out.println("The updated balance is"+getBalance());

}
@Override

public void atmDeposit() {

Scanner scanner = new Scanner(System.in);

System.out.println("Enter the Account Number");

String accountNo=scanner.nextLine();

System.out.println("Enter the deposit Amount");

int deposit = scanner.nextInt();

int totalbalance = deposit + getBalance();

setBalance(totalbalance);

System.out.println("The updated balance is"+getBalance());

Salary account

package com.canddella.entity;

import java.util.Scanner;

import com.canddella.depositservice.AtmDeposit;

import com.canddella.depositservice.CardDeposit;

import com.canddella.depositservice.CashDeposit;
public class SavingsAccount extends Account implements CashDeposit,CardDeposit,AtmDeposit {

public SavingsAccount(String accountNo, String accountType, String accountCreateDate, int


balance) {

super(accountNo, accountType, accountCreateDate, balance);

@Override

public void cardDeposit() {

Scanner scanner = new Scanner(System.in);

System.out.println("Enter the Account Number");

String accountNo=scanner.nextLine();

System.out.println("Enter the deposit Amount");

int deposit = scanner.nextInt();

int totalbalance = deposit + getBalance();

setBalance(totalbalance);

System.out.println("The updated balance is"+getBalance());

@Override

public void cashDeposit() {

Scanner scanner = new Scanner(System.in);


System.out.println("Enter the deposit Amount");

int deposit = scanner.nextInt();

int totalbalance = deposit + getBalance();

setBalance(totalbalance);

System.out.println("The updated balance is"+getBalance());

@Override

public void atmDeposit() {

Scanner scanner = new Scanner(System.in);

System.out.println("Enter the Account Number");

String accountNo=scanner.nextLine();

System.out.println("Enter the deposit Amount");

int deposit = scanner.nextInt();

int totalbalance = deposit + getBalance();

setBalance(totalbalance);

System.out.println("The updated balance is"+getBalance());

Candela.service

AccountService

package com.canddella.service;
import java.util.Scanner;

import com.canddella.entity.Account;

import com.canddella.entity.Customer;

import com.canddella.entity.RuralAccount;

import com.canddella.entity.SalaryAccount;

import com.canddella.entity.SavingsAccount;

public class AccountService {

public static Customer createAccount(int choice)

Account account= null;

Customer customer= null;

Scanner scanner = new Scanner(System.in);

System.out.println("Enter the Customer code");

String customerCode = scanner.nextLine();

System.out.println("Enter the Customer Name");

String customerName = scanner.nextLine();

System.out.println("Enter the date");

String accountCreateDate = scanner.nextLine();

System.out.println("Enter the initial amount");

int balance = scanner.nextInt();


if(choice == 1)

String accountNo = "SAV001" + customerCode;

account = new SavingsAccount(accountNo,"Savings Account","15/5/21",balance);

customer = new Customer(customerCode,customerName,account);

if(choice==2)

String accountNo = "SAV002" + customerCode;

account = new SalaryAccount(accountNo,"Salary Account","15/5/21",balance);

customer = new Customer(customerCode,customerName,account);

if(choice == 3)

String accountNo = "SAV003" + customerCode;

account = new RuralAccount(accountNo,"Rural Account","15/5/21",balance);

customer = new Customer(customerCode,customerName,account);

return customer;

public static void displayAccount(Customer customer)


{

System.out.println("ACCOUNT DETAILS OF
"+customer.getCustomerName().toUpperCase());

System.out.println("Customer Code:"+customer.getCustomerCode());

System.out.println("Account No:"+customer.getAccount().getAccountNo());

System.out.println("Account Type:"+customer.getAccount().getAccountType());

System.out.println("Balance:"+customer.getAccount().getBalance());

public static void depositAmount(Customer customer) {

if( customer.getAccount() instanceof SavingsAccount)

System.out.println("*****Menu*****");

System.out.println("1.Cash Deposit");

System.out.println("2.Card Deposit");

System.out.println("3.ATM Deposit");

System.out.println("Enter your choice");

Scanner scanner = new Scanner(System.in);

int choice = scanner.nextInt();

if(choice == 1)

((SavingsAccount) customer.getAccount()).cashDeposit();

else if(choice == 2)

((SavingsAccount) customer.getAccount()).cardDeposit();
}

else if(choice == 3)

((SavingsAccount) customer.getAccount()).atmDeposit();

else

System.out.println("Error");

else if( customer.getAccount() instanceof SalaryAccount)

System.out.println("*****Menu*****");

System.out.println("1.Cash Deposit");

System.out.println("2.ATM Deposit");

System.out.println("Enter your choice");

Scanner scanner = new Scanner(System.in);

int choice = scanner.nextInt();

if(choice == 1)

((SalaryAccount) customer.getAccount()).cashDeposit();

else if(choice == 2)

{
((SalaryAccount) customer.getAccount()).atmDeposit();

else

System.out.println("Error");

else if( customer.getAccount() instanceof RuralAccount)

System.out.println("*****Menu*****");

System.out.println("1.ATM Deposit");

System.out.println("Enter your choice");

Scanner scanner = new Scanner(System.in);

int choice = scanner.nextInt();

if(choice == 1)

((RuralAccount) customer.getAccount()).atmDeposit();

else

System.out.println("Error");

}
}

public static void displayAllCustomer(Customer[] customerArray) {

for(Customer customer: customerArray)

if(customer!=null)

System.out.println("ACCOUNT DETAILS OF
"+customer.getCustomerName().toUpperCase());

System.out.println("Customer Code:"+customer.getCustomerCode());

System.out.println("Account No:"+customer.getAccount().getAccountNo());

System.out.println("Account Type:"+customer.getAccount().getAccountType());

System.out.println("Balance:"+customer.getAccount().getBalance());

Utility

package com.canddella.utility;

import java.util.Scanner;

import com.canddella.entity.Account;
import com.canddella.entity.Customer;

import com.canddella.entity.SavingsAccount;

import com.canddella.service.AccountService;

public class AccountUtility {

public static void main(String[] args) {

Customer[] customer = new Customer[3];

int index=0;

int mchoice;

do

System.out.println("*****main Menu*****");

System.out.println("1.Create Account");

System.out.println("2.Display Accounts");

System.out.println("Enter your choice");

Scanner scanner = new Scanner(System.in);

mchoice = scanner.nextInt();

switch(mchoice)

case 1:

System.out.println("*****Menu*****");

System.out.println("1.Savings Account");

System.out.println("2.Salary Account");
System.out.println("3.Rural Account");

System.out.println("Enter your choice");

int choice = scanner.nextInt();

switch(choice)

case 1:customer[index] = AccountService.createAccount(choice);

AccountService.displayAccount(customer[index]);

AccountService.depositAmount(customer[index]);

index++;

break;

case 2:customer[index] = AccountService.createAccount(choice);

AccountService.displayAccount(customer[index]);

AccountService.depositAmount(customer[index]);

index++;

break;

case 3:customer[index] = AccountService.createAccount(choice);

AccountService.displayAccount(customer[index]);

AccountService.depositAmount(customer[index]);

index++;

break;

break;
case 2:AccountService.displayAllCustomer(customer);

break;

}while(mchoice<2);

You might also like