使用继承的Java程序来计算定期存款(FDs)和定期存款(RDs)的利息
继承是一个概念,它允许我们从一个类访问另一个类的属性和行为。被继承方法和成员变量的类被称为超类或父类,而继承这些方法和成员变量的类被称为子类或子类。在Java中,我们使用“extends”关键字来继承一个类。
在本文中,我们将讨论使用继承来计算定期存款和定期存款的利息的Java程序。首先,在您的本地机器IDE中创建这四个Java文件 -
Acnt.java − 这个文件将包含一个抽象类‘Acnt’,用于存储账户详情,如利率和金额。它还将具有一个带有参数‘amnt’的抽象方法‘calcIntrst’,用于计算利率。
FDacnt.java − 它将计算定期存款(FDs)的利率。在其中,'FDacnt'类将继承'Acnt'类并重写'calcIntrst'方法。
RDacnt.java − 它将计算定期存款(FDs)的利率。在其中,'RDacnt'类将继承'Acnt'类并覆盖'calcIntrst'方法。
Intrst.java − 这个文件将包含主方法。
Example
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
的翻译为:
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
的翻译为:
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
Now to run: 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来计算定期存款的利率,选择2来计算定期存款的利率。
结论
我们使用了层次继承的概念来计算定期存款和定期存款的利息。类“Acnt”被其两个子类“FDacnt”和“RDacnt”继承。
以上就是使用继承的Java程序来计算定期存款(FDs)和定期存款(RDs)的利息的详细内容,更多请关注其它相关文章!