Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaで単利と複利を計算するプログラムの作成方法|サンプルコード付き解説

はじめに

この記事では、元金(Principal)年利率(Rate)期間(Time/年数)をユーザーから入力してもらい、単利複利を求めるJavaプログラムを解説します。

単利と複利の違い

単利(Simple Interest)
元本金額全体に対して一定の割合で付く利息です。利息が元本に組み込まれて再投資されないため、複利と比べるとリターンは小さくなります。

複利(Compound Interest)
元本と、すでに発生した利息を合わせた金額に対して付く利息です。「利息にさらに利息がつく」仕組みのため、単利と比べて受取額は大きくなります。

入力と出力の例

たとえば、次のような値を入力した場合を考えてみましょう。

元金 = 25000.0
年利率 = 10.0
期間(年数)= 4.0

これをもとに単利と複利を計算すると、出力は次のようになります。

単利: 10000.0
複利: 11602.500000000007

なお、複利の結果に「11602.500000000007」のような細かな小数誤差が現れるのは、double型の浮動小数点演算の特性によるものです。見栄えを整えたい場合は、String.format() や BigDecimal を使って桁数を揃えて表示するとよいでしょう。

アルゴリズム

ステップ1 – 開始
ステップ2 – 変数 p, r, t, s_interest, c_interest を宣言する
ステップ3 – ユーザーから p, r, t の値を読み込む
ステップ4 – (p * r * t) / 100 を計算する
ステップ5 – p * Math.pow(1.0 + r/100.0, t) - p を計算する
ステップ6 – ステップ4の結果を s_interest に格納する
ステップ7 – ステップ5の結果を c_interest に格納する
ステップ8 – s_interest を表示する
ステップ9 – c_interest を表示する
ステップ10 – 終了

使用する計算式

単利 = (元金 × 年利率 × 期間)÷ 100

複利 = 元金 × (1 + 年利率 ÷ 100)期間 - 元金

Javaではべき乗の計算に Math.pow(底, 指数) メソッドを使用します。

例1: ユーザーから入力を受け取るパターン

Scannerクラスを使い、プロンプトに従ってユーザーが値を入力する方式のサンプルです。オンラインのJava実行環境でもそのまま試せます。

import java.util.*;

public class SimpleAndCompoundInterest {
   public static void main(String[] args) {
      double p, r, t, s_interest, c_interest;
      Scanner scanner = new Scanner(System.in);
      System.out.println("元金を入力してください = ");
      p = scanner.nextDouble();
      System.out.println("年利率を入力してください = ");
      r = scanner.nextDouble();
      System.out.println("期間(年数)を入力してください = ");
      t = scanner.nextDouble();
      s_interest = (p * r * t) / 100;
      c_interest = p * Math.pow(1.0 + r / 100.0, t) - p;
      System.out.println("単利: " + s_interest);
      System.out.println("複利: " + c_interest);
   }
}

実行結果:

元金を入力してください = 1500
年利率を入力してください = 8
期間(年数)を入力してください = 3
単利: 360.0
複利: 389.568000000000

例2: 値をあらかじめ定義しておくパターン

こちらは、変数の値が事前に決められており、その値を読み取ってコンソールに表示するシンプルな例です。

public class SimpleAndCompoundInterest {
   public static void main(String[] args) {
      double p, r, t, s_interest, c_interest;
      p = 25000;
      r = 10;
      t = 4;
      System.out.println("元金 = " + p);
      System.out.println("年利率 = " + r);
      System.out.println("期間(年数)= " + t);
      s_interest = (p * r * t) / 100;
      c_interest = p * Math.pow(1.0 + r / 100.0, t) - p;
      System.out.println("単利: " + s_interest);
      System.out.println("複利: " + c_interest);
   }
}

実行結果:

元金 = 25000.0
年利率 = 10.0
期間(年数)= 4.0
単利: 10000.0
複利: 11602.500000000007

まとめ

単利は「元金のみ」に利息がつくのに対し、複利は「元金+発生済み利息」に利息がつくため、期間が長くなるほど差は広がります。Javaでは、単利を (p * r * t) / 100、複利を Math.pow() を使った式で簡単に計算できます。Scannerクラスによる対話的な入力パターンと固定値を使うパターンの両方を理解しておけば、さまざまな場面で応用できるでしょう。

  1. 複利を計算するPythonプログラムの書き方と実装例

    本記事では、与えられた問題文に対する解決策とアプローチについて解説します。Pythonを使って複利(compound interest)を計算する方法を、具体的なコード例とともに見ていきましょう。 問題定義 問題: 元本(principle)、利率(rate)、期間(time)の3つの入力値が与えられ、これらをもとに複利を計算する必要があります。 複利の計算式 複利の計算には、以下の公式を使用します。 Compound Interest = P(1 + R/100)r 各変数の意味は次のとおりです。 P:元本(最初に預け入れる金額) R:年利率(%) T:運用期間(年) 実装例 以下

  2. Pythonで単利を計算するプログラムの作成方法

    この記事では、Python 3.x(およびそれ以前のバージョン)を使用して、単利を計算する方法について解説します。単利とは、元本に対して一定の利率で発生する利息のことです。一般的には、利率に元本を掛け、さらに利息が発生する期間を掛けることで求められます。単利の計算式単利は数学的に以下の式で表すことができます。単利(SI) = (P × T × R) / 100 P:元本(Principal) T:期間(Time) R:利率(Rate)例えば、元本 P = 1000、利率 R = 1%、期間 T = 2 の場合、単利は次のように計算されます。SI = (1000 × 1 × 2) / 100