You are on page 1of 3

package Interest_package;

import java.util.*;
public class interest {

public static void main(String[] args) {


Scanner sc=new Scanner(System.in);
abstract class acc
{
double irate;
double amt;
abstract double cal();
}
class fdacc extends acc
{
int ndays;
int age;
double cal()
{
if (Double.compare(amt,10000000d)<0)
{
if (age<60)
{
if(ndays>=7 && ndays<=14)
irate=(4.5d/100)*amt;
if(ndays>=15 && ndays<=29)
irate=(4.75d/100)*amt;
if(ndays>=30 && ndays<=45)
irate=(5.5d/100)*amt;
if(ndays>=45 && ndays<=60)
irate=(7d/100)*amt;
if(ndays>=61 && ndays<=184)
irate=(7.5d/100)*amt;
if(ndays>=185 && ndays<=365)
irate=(8d/100)*amt;
}
else
{
if(ndays>=7 && ndays<=14)
irate=(5d/100)*amt;
if(ndays>=15 && ndays<=29)
irate=(5.25d/100)*amt;
if(ndays>=30 && ndays<=45)
irate=(6d/100)*amt;
if(ndays>=45 && ndays<=60)
irate=(7.5d/100)*amt;
if(ndays>=61 && ndays<=184)
irate=(8d/100)*amt;
if(ndays>=185 && ndays<=365)
irate=(8.5d/100)*amt;
}
}
else
{
if(ndays>=7 && ndays<=14)
irate=(6.5d/100)*amt;
if(ndays>=15 && ndays<=29)
irate=(6.75d/100)*amt;
if(ndays>=30 && ndays<=45)
irate=(6.75d/100)*amt;
if(ndays>=45 && ndays<=60)
irate=(8d/100)*amt;
if(ndays>=61 && ndays<=184)
irate=(8.5d/100)*amt;
if(ndays>=185 && ndays<=365)
irate=(10.0d/100)*amt;
}
return(irate);
}
}
class sbacc extends acc
{
String type=" ";
double cal()
{
if(type.equalsIgnoreCase("normal"))
irate=amt*(4d/100d);
else
irate=amt*(6d/100d);
return(irate);
}

}
class rdacc extends acc
{
int nm;
int age;
double cal()
{
if(age<60)
{
if(nm==6)
irate=(7.5d/100)*amt;
if(nm==9)
irate=(7.75d/100)*amt;
if(nm==12)
irate=(8d/100)*amt;
if(nm==15)
irate=(8.25d/100)*amt;
if(nm==18)
irate=(8.5d/100)*amt;
if(nm==21)
irate=(8.75d/100)*amt;
}
else
{
if(nm==6)
irate=(8d/100)*amt;
if(nm==9)
irate=(8.25d/100)*amt;
if(nm==12)
irate=(8.5d/100)*amt;
if(nm==15)
irate=(8.75d/100)*amt;
if(nm==18)
irate=(9d/100)*amt;
if(nm==21)
irate=(9.25d/100)*amt;
}

return(irate);
}
}
int opt;
System.out.println("option");
opt=sc.nextInt();
switch(opt)
{
case 1:
sbacc sb=new sbacc();
System.out.println("Amount");
sb.amt=sc.nextDouble();
System.out.println("normal/nri");
sb.type=sc.next();
System.out.println("Interest Gained : "+sb.cal());
break;
case 2:
fdacc fd=new fdacc();
System.out.println("Amount");
fd.amt=sc.nextDouble();
System.out.println("No of days");
fd.ndays=sc.nextInt();
System.out.println("age");
fd.age=sc.nextInt();
System.out.println("Interest Gained : "+fd.cal());
break;
case 3:
rdacc rd=new rdacc();
System.out.println("Amount");
rd.amt=sc.nextDouble();
System.out.println("No of months");
rd.nm=sc.nextInt();
System.out.println("age");
rd.age=sc.nextInt();
System.out.println("Interest Gained : "+rd.cal());
break;
}
sc.close();
}
}

You might also like