目錄
Example
Acnt.java
FDacnt.java
RDacnt.java
Intrst.java
輸出
結論
首頁 Java java教程 使用繼承的Java程式來計算定期存款(FDs)和定期存款(RDs)的利息

使用繼承的Java程式來計算定期存款(FDs)和定期存款(RDs)的利息

Aug 20, 2023 pm 10:49 PM
繼承 java程式 定期存款

使用繼承的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)的利息的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

C++ 函式繼承詳解:如何在繼承中使用「基底類別指標」和「衍生類別指標」? C++ 函式繼承詳解:如何在繼承中使用「基底類別指標」和「衍生類別指標」? May 01, 2024 pm 10:27 PM

在函數繼承中,使用「基底類別指標」和「衍生類別指標」來理解繼承機制:基底類別指標指向派生類別物件時,執行向上轉型,只存取基底類別成員。派生類別指標指向基底類別物件時,執行向下轉型(不安全),必須謹慎使用。

Java程式用於檢查TPP學生是否有資格參加面試 Java程式用於檢查TPP學生是否有資格參加面試 Sep 06, 2023 pm 10:33 PM

請考慮下表了解不同公司的資格標準-CGPA的中文翻譯為:績點平均成績符合條件的公司大於或等於8谷歌、微軟、亞馬遜、戴爾、英特爾、Wipro大於或等於7教程點、accenture、Infosys 、Emicon、Rellins大於或等於6rtCamp、Cyber​​tech、Skybags、Killer、Raymond大於或等於5Patronics、鞋子、NoBrokers讓我們進入java程式來檢查tpp學生參加面試的資格。方法1:使用ifelseif條件通常,當我們必須檢查多個條件時,我們會使用

C++ 函式繼承詳解:如何偵錯繼承中出現的錯誤? C++ 函式繼承詳解:如何偵錯繼承中出現的錯誤? May 02, 2024 am 09:54 AM

繼承錯誤調試技巧:確保正確的繼承關係。使用偵錯器逐步執行程式碼,檢查變數值。確保正確使用virtual修飾符。檢查隱藏的繼承帶來的菱形繼承問題。檢查抽象類別中未實現的純虛函數。

Java程式取得給定檔案的大小(以位元組、千位元組和兆位元組為單位) Java程式取得給定檔案的大小(以位元組、千位元組和兆位元組為單位) Sep 06, 2023 am 10:13 AM

檔案的大小是特定檔案在特定儲存裝置(例如硬碟)上所佔用的儲存空間量。檔案的大小以位元組為單位來衡量。在本節中,我們將討論如何實作一個java程式來取得給定檔案的大小(以位元組、千位元組和兆位元組為單位)。位元組是數字資訊的最小單位。一個位元組等於八位元。 1千位元組(KB)=1,024位元組1兆位元組(MB)=1,024KB千兆位元組(GB)=1,024MB和1太字節(TB)=1,024GB。文件的大小通常取決於文件​​的類型及其包含的資料量。以文字文件為例,文件的大小可能只有幾千字節,而高解析度圖像或影片檔案的大小可

C++ 函式繼承詳解:如何理解繼承中的「is-a」與「has-a」關係? C++ 函式繼承詳解:如何理解繼承中的「is-a」與「has-a」關係? May 02, 2024 am 08:18 AM

C++函式繼承詳解:掌握「is-a」和「has-a」關係什麼是函式繼承?函數繼承是C++中一種將衍生類別中定義的方法與基底類別中定義的方法關聯起來的技術。它允許衍生類別存取和重寫基底類別的方法,從而擴展了基底類別的功能。 「is-a」和「has-a」關係在函數繼承中,「is-a」關係指派生類別是基底類別的子類型,也就是說,衍生類別「繼承」了基底類別的特性和行為。 「has-a」關係指派生類別包含對基底類別物件的參考或指針,也就是說,衍生類別「擁有」了基底類別物件。語法以下是如何實作函數繼承的語法:classDerivedClass:pu

使用類別的概念編寫Java程式來計算矩形的面積和周長 使用類別的概念編寫Java程式來計算矩形的面積和周長 Sep 03, 2023 am 11:37 AM

Java語言是當今世界上最常用的物件導向程式語言之一。類別的概念是物件導向語言中最重要的特性之一。一個類別就像一個物件的藍圖。例如,當我們想要建造一棟房子時,我們首先創建一份房子的藍圖,換句話說,我們創建一個顯示我們將如何建造房子的計劃。根據這個計劃,我們可以建造許多房子。同樣地,使用類,我們可以創建許多物件。類別是創建許多物件的藍圖,其中物件是真實世界的實體,如汽車、自行車、筆等。一個類別具有所有物件的特徵,而物件具有這些特徵的值。在本文中,我們將使用類別的概念來編寫一個Java程序,以找到矩形的周長和麵

C++ 中繼承和多態性如何影響類別的耦合度? C++ 中繼承和多態性如何影響類別的耦合度? Jun 05, 2024 pm 02:33 PM

繼承和多態性會影響類別的耦合度:繼承會增加耦合度,因為衍生類別依賴基底類別。多態性可以降低耦合度,因為物件可以透過虛擬函數和基底類別指標以一致的方式回應訊息。最佳實踐包括謹慎使用繼承、定義公共介面、避免在基底類別中新增資料成員,以及透過依賴注入解耦類別。實戰案例顯示如何使用多態性和依賴注入來降低銀行帳戶應用程式中的耦合度。

如何使用Java強制繼承代理final類別? 如何使用Java強制繼承代理final類別? Sep 06, 2023 pm 01:27 PM

如何使用Java強制繼承代理final類別?在Java中,final關鍵字用於修飾類別、方法和變量,表示它們不可被繼承、重寫和修改。然而,在某些情況下,我們可能需要強制繼承一個final類,以實現特定的需求。本文將討論如何使用代理模式來實現這樣的功能。代理模式是一種結構型設計模式,它允許我們建立一個中間物件(代理物件),該物件可以控制對另一個物件(被代理物件)的

See all articles