Interface

INTERFACES

Sample input and output 1:

1.Current Account
2.Savings Account
1
Name
SB
Account Number
12345
Account Balance
5000
Enter the Start Date(yyyy-mm-dd)
2013-04-22
Enter the Years
4
Maintenance Charge For Current Account 600.00

CODE:



public class Account {
    
String name, accountName;
double balance;
java.util.Date startDate;
float maintenance;
Account(String name, String accountNumber, Double balance, java.util.Date date){
this.name=name;
this.balance=balance;
this.startDate=date;
}
}



public interface MaintainanceCharge {
    
Float calculateMaintanceCharge(Float noOfYears);
}



public class SavingsAccount implements MaintainanceCharge {

    float mCharge=50, mAmount;
public Float calculateMaintanceCharge(Float noOfYears) {
mAmount=2*mCharge*noOfYears+50;
return mAmount;
}
}



public class CurrentAccount implements MaintainanceCharge{
    
float mCharge=100, mAmount;

public Float calculateMaintanceCharge(Float noOfYears) {
mAmount=mCharge*noOfYears+200;
return mAmount;
}
}


import java.util.*;
import java.io.*;
import java.text.*;

public class Main {
    public static void main(String args[]) throws Exception{
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        System.out.println("1.Current Account");
        System.out.println("2.Savings Account");
        Integer n = Integer.parseInt(br.readLine());
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
        switch (n) {
        case 1:
            System.out.println("Name");
            String name = br.readLine();
            System.out.println("Account Number");
            String account = br.readLine();
            System.out.println("Account Balance");
            Double accountBalance = Double.parseDouble(br.readLine());
            System.out.println("Enter the Start Date(yyyy-mm-dd)");
            String sdate = br.readLine();
            System.out.println("Enter the Years");
            Float years = Float.parseFloat(br.readLine());
            Account accountObject = new Account(name, account, accountBalance, formatter.parse(sdate));
            CurrentAccount currentAccountObject = new CurrentAccount();
            Float outputValue =currentAccountObject.calculateMaintanceCharge(years);
            System.out.printf("Maintenance Charge For Current Account %.2f",outputValue);
            break;
        case 2:
            System.out.println("Name");
            String name_1 = br.readLine();
            System.out.println("Account Number");
            String account_1 = br.readLine();
            System.out.println("Account Balance");
            Double accountBalance_1 = Double.parseDouble(br.readLine());
            System.out.println("Enter the Start Date(yyyy-mm-dd)");
            String sdate_1 = br.readLine();
            System.out.println("Enter the Years");
            Float years_1 = Float.parseFloat(br.readLine());
            Account accountObject_1 = new Account(name_1, account_1, accountBalance_1, formatter.parse(sdate_1));
            SavingsAccount savingsAccountObject = new SavingsAccount();
            Float outputValue_1 = savingsAccountObject.calculateMaintanceCharge(years_1);
            System.out.printf("Maintenance Charge For Savings Account %.2f",outputValue_1);
            break;
        default:
            System.out.println("Invalid choice");
            break;
        }
    }
    
}

 

Comments

Popular posts from this blog