繼承是一個概念,它允許我們從一個類別存取另一個類別的屬性和行為。被繼承方法和成員變數的類別稱為超類別或父類,而繼承這些方法和成員變數的類別稱為子類別或子類別。在Java中,我們使用「extends」關鍵字來繼承一個類別。
在本文中,我們將討論使用繼承來計算定期存款和定期存款的利息的Java程式。首先,在您的本機機器IDE中建立這四個Java檔案 -
Acnt.java − 這個文件將包含一個抽象類別‘Acnt’,用於儲存帳戶詳情,如利率和金額。它還將具有一個帶有參數‘amnt’的抽象方法‘calcIntrst’,用於計算利率。
FDacnt.java − 它將計算定期存款(FDs)的利率。在其中,'FDacnt'類別將繼承'Acnt'類別並重寫'calcIntrst'方法。
RDacnt.java − 它將計算定期存款(FDs)的利率。在其中,'RDacnt'類別將繼承'Acnt'類別並覆寫'calcIntrst'方法。
Intrst.java − 這個檔案將包含主方法。
public abstract class Acnt{ double intrstRate; double amnt; abstract double calcIntrst(double amnt); }
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; } }
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; } }
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 IntrstChoose 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)的利息的詳細內容。更多資訊請關注PHP中文網其他相關文章!