Challenge

Project 2

import java.util.Scanner;

class Customer {
private String name;
private String dob;
private String accountType;

public Customer(String name, String dob, String accountType) {
this.name = name;
this.dob = dob;
this.accountType = accountType;
}

public String getName() {
return name;
}

public String getDob() {
return dob;
}

public String getAccountType() {
return accountType;
}
}

class Account {
private int accountNumber;
private double balance;
private double interestRate;

public Account(int accountNumber, double balance, double interestRate) {
this.accountNumber = accountNumber;
this.balance = balance;
this.interestRate = interestRate;
}

public int getAccountNumber() {
return accountNumber;
}

public double getBalance() {
return balance;
}

public double getInterestRate() {
return interestRate;
}

public void setBalance(double balance) {
this.balance = balance;
}

public double calculateSimpleInterest(int time) {
return balance * interestRate * time;
}

public double calculateCompoundInterest(int time, int n) {
double r = interestRate / n;
double nt = n * time;
return balance * Math.pow(1 + r, nt) - balance;
}
}

class RBI {
public double getInterestRate() {
return 0.0;
}

public double getWithdrawalLimit() {
return 0.0;
}
}

class SBI extends RBI {
public double getInterestRate() {
return 0.05;
}

public double getWithdrawalLimit() {
return 10000.0;
}
}

class ICICI extends RBI {
public double getInterestRate() {
return 0.06;
}

public double getWithdrawalLimit() {
return 15000.0;
}
}

class PNB extends RBI {
public double getInterestRate() {
return 0.07;
}

public double getWithdrawalLimit() {
return 20000.0;
}
}

public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);

System.out.println("Which bank do you want to access? (SBI/ICICI/PNB)");
String bank = scanner.nextLine();

System.out.println("What type of account do you have? (Savings/Current)");
String accountType = scanner.nextLine();

System.out.println("Which user account do you want to access? (User1/User2)");
String user = scanner.nextLine();

Customer customer = new Customer(user, "01/01/2000", accountType);
Account account = new Account(123, 5000.0, 0.0);

RBI rbi = null;
if (bank.equalsIgnoreCase("SBI")) {
rbi = new SBI();
} else if (bank.equalsIgnoreCase("ICICI")) {
rbi = new ICICI();
} else if (bank.equalsIgnoreCase("PNB")) {
rbi = new PNB();
}

double interestRate = rbi.getInterestRate();
double withdrawalLimit = rbi.getWithdrawalLimit();

if (accountType.equalsIgnoreCase("Savings")) {
if (account.getBalance() < 2000.0) {
System.out.println("Minimum balance for savings account is 2000/-");
return;
}
account.setBalance(account.getBalance() + account.calculateSimpleInterest(1));
} else if (accountType.equalsIgnoreCase("Current")) {
if (account.getBalance() < 5000.0) {
System.out.println("Minimum balance for current account is 5000/-");
return;
}
account.setBalance(account.getBalance() + account.calculateCompoundInterest(1, 2));
}

System.out.println("Interest rate: " + interestRate);
System.out.println("Withdrawal limit: " + withdrawalLimit);
System.out.println("Balance: " + account.getBalance());
}
}

Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.