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