質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

1回答

1542閲覧

借入額と年利と年数を与えると毎年の返済総額を答えるプログラムで分からないところがあります

prog1717nm

総合スコア56

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2016/08/17 01:39

public class Repay { static int amountB(int c, double r, int n) { //n年目の元金cの元利合計 return (int)amount(c, r, n); } static int amountC(int x, double r, int n) { //(n年間の)返済額xの元利合計 double c=0; for(int i=1; i<=n; i++) c += amount(x, r, i); return (int)c; } static double amount(int c, double r, int n) { //元利合計・理論値 return c*Math.pow((1+r), n); } static int repay(int c, double r, int n) {//毎年の返済額 int x = c/n; int total = amountB(c, r, n); while(amountC(x,r,n-1)+x<total)x++; return (int)x; } public static void main(String[] args) { int c, n; double r; c = Integer.parseInt(args[0]); r = Integer.parseInt(args[1])/100.0; n = Integer.parseInt(args[2]); System.out.printf("毎年の返済額 %d\n", repay(1000000, 0.05, 10)); } }

cが借入額で、rが年利で、 nが年数を表しています。
上のプログラムのrepayメソッドで分からないところがあります。(毎年の返済額と書いてありますが、、、)
まず、xというのは「(利息を含めない)毎年の返済額」で、totalというのは「n年目の返済額」という解釈であってますか?あとwhile文の中身とx++の意味もよく分からないです。一体何をしているのでしょうか。

このプログラムを書いた人にきくのが一番良いのですが、きくことが困難なのでぜひ力を貸して欲しいです。どうぞ宜しくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

何のためにこのプログラムを分かろうとしているのですか?
失礼かもしれませんが、あまり解読する価値のないプログラムに見えます。

このプログラムは100万円を表面年利5%で10年間借りると

毎年の返済額 129505

と報告します。単利では毎年15万円払う必要があります(利息が毎年5万のため、10年で元金合わせて150万になる)。もちろん複利ではもっと高くなります。このプログラムは単利でも複利でもないようです。

これは「借入額と年利と年数を与えると毎年の返済総額を答えるプログラム」ではない可能性がひじょ〜に高いです。デバッグ/修正でもするのでない限り、解読するのは時間の無駄だと思います。もし意味のあるプログラムなのだとしたら、このプログラムは「何をするのか」くらいは書いた人に訊くべきです。仕事だって「何をするのか」分からない状態は一番マズいです。

一体何をしているのでしょうか。

ほんと、一体何をしているのでしょうねぇ?
「わかりません!」と表明する回答も珍しいです。

投稿2016/08/17 03:32

sharow

総合スコア1149

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問