アドベントカレンダーの空いてる場所を勝手に埋めていますNMRです。
よろしくお願いします。
※今回作成するソースでは計算に誤差が発生します。
金融業務に使うためのものではないことをご了承ください。
NISAの正確な計算には金融庁のサイトなどをお使いください。
https://www.fsa.go.jp/policy/nisa2/moneyplan_sim/index.html
計算の誤差に興味がある方は、
https://qiita.com/2754github/items/26a18fe01c8ad221f0ba
こちらの記事などが個人的に面白かったです。
基本情報技術者試験でも扱われますので、キタミ式の参考書も誤差の理由を知るためにおすすめです。
毎年2%の複利で積み立て投資をしたらどれくらい儲かるのかを知りたい
新NISAが流行っていますね。
じゃあ結局新NISAで毎月積み立てていったらどれくらい儲かるんだろう?
こういったことを計算するのにコンピュータは向いています。
実際にJava Bronzeくらいの知識だけで実装してみましょう。
以下ソース
まず「Sample.java」という名前でファイルを作成します。
Sample.java内のソースコードがこちらです。
import java.util.Scanner;
public class Sample {
public static void main(String[] args) {
// Scannerインスタンスを作成して、ユーザー入力を受け取る
Scanner scanner = new Scanner(System.in);
try {
// ユーザーに年利2%での貯金のシナリオについて案内
System.out.println("あなたが毎年2%の利子を受け取ったらどうなるでしょう");
System.out.println("毎年いくら貯金するか教えてください");
// 年間の貯金額をユーザーから入力させる
int save = scanner.nextInt();
// 貯金する年数をユーザーから入力させる
System.out.println("何年貯金しますか?");
int year = scanner.nextInt();
// 利子を含めない合計貯金額を計算
int totalMoneyWithoutInterest = save * year;
// 利子を含めた合計金額を計算するための変数を初期化
int result = 0;
// 年数に応じて複利計算を行う
for(int i = 0; i < year; i++) {
result += save; // 年間貯金額を加算
result *= 1.02; // 利子を加算(2%)
}
// 利子を含めない合計貯金額を出力
System.out.println("利子を含めない貯金額は以下です");
System.out.println(totalMoneyWithoutInterest);
// 利子を含めた合計貯金額を出力
System.out.println("利子を含めた貯金額は以下です");
System.out.println(result);
// 付加された利子の合計額を出力
System.out.println("利子はこれだけつきました");
System.out.println(result - totalMoneyWithoutInterest);
} finally {
// Scannerインスタンスをクローズ
scanner.close();
}
}
}
実行例
あなたが毎年2%の利子を受け取ったらどうなるでしょう
毎年いくら貯金するか教えてください
36000
何年貯金しますか?
30
利子を含めない貯金額は以下です
1080000
利子を含めた貯金額は以下です
1489641
利子はこれだけつきました
409641
はい。
実際に(誤差はあるのですが)利子が計算できました。
Eclipseさんに警告を出されるのが嫌でtry-finallyを書いたくらいで、例外処理も行っていないため、ほぼJava Bronzeの知識のみのコードになっていると思います。
難しい資格を取ったり大規模なシステムにかかわっていなくとも、自分の生活や業務に役立つツールは意外とすぐ作れますよということを紹介したく書いてみました。
以上
読んでいただきありがとうございました。