Java程序 继承使用计算FD和RD的利息
继承是一种允许我们访问一个类的属性和行为的另一个类的概念。被继承方法和成员变量的类被称为超类或父类,继承这些方法和成员变量的类被称为子类或子类。在Java中,我们使用“extends”关键字来继承一个类。
在本文中,我们将讨论使用继承计算FD和RD利息的Java程序。首先,在本地机器ide中创建这四个Java文件-
* Acnt.java-此文件将包含一个抽象类“Acnt”,用于存储帐户详细信息,例如利率和金额。它还将具有一个带“amnt”参数的抽象方法“calcIntrst”来计算利率。
* FDacnt.java-它将计算固定存款(FD)的利率。其中,“FDacnt”类将继承“Acnt”类并覆盖“calcIntrst”方法。
* RDacnt.java-它将计算定期存款(RD)的利率。其中,“RDacnt”类将继承“Acnt”类并覆盖“calcIntrst”方法。
* Intrst.java-此文件将包含主要方法。
示例
Acnt.java
public abstract class Acnt{
double intrstRate;
double amnt;
abstract double calcIntrst(double amnt);
}
FDacnt.java
import java.util.*;
public class FDacnt extends Acnt {
double FDintrstRate;
double FDAmnt;
int period;
int age;
double Gen, SenCitizen;
Scanner input = new Scanner(System.in);
@Override
double calcIntrst(double amnt){
this.FDAmnt = amnt;
System.out.println("Enter your FD days");
period = input.nextInt();
System.out.println("Enter the age of account holder ");
age = input.nextInt();
if(amnt <10000000){
if(period> = 7 && period <= 14){
Gen = 0.0450;
SenCitizen = 0.0500;
} else if(period> = 15 && period <= 29){
Gen = 0.0470;
SenCitizen = 0.0525;
} else if(period> = 30 && period <= 45){
Gen = 0.0550;
SenCitizen = 0.0600;
} else if(period> = 45 && period <= 60){
Gen = 0.0700;
SenCitizen = 0.0750;
} else if(period> = 61 && period <= 184){
Gen = 0.0750;
SenCitizen = 0.0800;
} else if(period> = 185 && period <= 365){
Gen = 0.0800;
SenCitizen = 0.0850;
}
FDintrstRate =(age <50)?Gen:SenCitizen;
} else {
if(period> = 7 && period <= 14){
intrstRate = 0.065;
} else if(period> = 15 && period <= 29){
intrstRate = 0.0675;
} else if(period> = 30 && period <= 45){
intrstRate = 0.00675;
} else if(period> = 45 && period <= 60){
intrstRate = 0.080;
} else if(period> = 61 && period <= 184){
intrstRate = 0.0850;
} else if(period> = 185 && period <= 365){
intrstRate = 0.10;
}
}
return FDAmnt * FDintrstRate;
}
}
RDacnt.java
import java.util.*;
public class RDacnt extends Acnt{
double RDIntrstRate;
double RDamnt;
int periods;
double monthlyAmnt;
double Gen, SenCitizen;
Scanner input = new Scanner(System.in);
@Override
double calcIntrst(double amnt){
this.RDamnt = amnt;
System.out.println("Enter your RD months");
periods =input.nextInt();
System.out.println("Enter the age of account holder");
int age =input.nextInt();
if(periods> = 0 && periods <= 6){
Gen = .0750;
SenCitizen = 0.080;
} else if(periods> = 7 && periods <= 9){
Gen = .0775;
SenCitizen = 0.0825;
} else if(periods> = 10 && periods <= 12){
Gen = .0800;
SenCitizen = 0.0850;
} else if(periods> = 13 && periods <= 15){
Gen = .0825;
SenCitizen = 0.0875;
} else if(periods> = 16 && periods <= 18){
Gen = .0850;
SenCitizen = 0.0900;
} else if(periods> = 22){
Gen = .0875;
SenCitizen = 0.0925;
}
RDIntrstRate =(age <50)?Gen:SenCitizen;
return RDamnt * RDIntrstRate;
}
}
Intrst.java
import java.util.*;
public class Intrst{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("Choose from the Options: " + "\n1." + " FD Interest" + " \n2." + " RD Interest"
+ "\n3." + " Exit");
int choice = sc.nextInt();
switch (choice){
case 1:
FDacnt fds = new FDacnt();
System.out.println("Enter your FD Amount");
double fAmnt = sc.nextDouble();
System.out.println("Interest gained on your FD Amount is: " + fds.calcIntrst(fAmnt));
break;
case 2:
RDacnt rds = new RDacnt();
System.out.println("Enter your RD amount");
double RAmnt = sc.nextDouble();
System.out.println("Interest gained on your RD Amount is: " + rds.calcIntrst(RAmnt));
break;
default:
System.out.println("Choose correct choice");
}
}
}
要编译此代码,请键入命令:javac Intrst.java 现在要运行:java Intrst
输出
Choose from the Options:
1. FD Interest
2. RD Interest
3. Exit
1
Enter your FD Amount
56000
Enter your FD days
325
Enter the age of account holder
32
Interest gained on your FD Amount is: $ 4480.0
以上程序是一个菜单驱动程序。当我们执行此程序时,屏幕上将显示三个选项。选择1计算FD的利率和2计算RD的利率。
结论
我们使用层次继承的概念来计算FD和RD的利息。类“Acnt”由其两个子类“FDacnt”和“RDacnt”继承。