コードに不要なギャップをスロー:JavaScriptプログラムは、テーブル出力
function displayWelcome() {
console.log("Welcome! \nThis program will determine the time to pay off a credit card and the interest paid based on the current balance, the interest rate, and the monthly payments made.")
}
function calculateminimumPaymentment(balance, minimumPaymentRate) {
return Math.max(20, balance * minimumPaymentRate);
}
function displayPayments(balance, interest, minimumPayment) {
console.log("Balance on your credit card: $" + balance.toFixed(2))
console.log("Interest Rate: " + (interest * 100) + "%")
console.log("Assuming a minimum payment of 2% of the balance ($20 min)")
console.log("Your minimum payment would be: $" + minimumPayment)
console.log("\nYear Balance Payment # Interest Paid Minimum Payment")
var year = 1;
var payments = 1;
var interestPaid = 0;
var yearChange;
while (balance > 0) {
yearChange = false;
if (payments % 12 == 0) {
year++
yearChange = true;
}
interestPaid += balance * interest/12;
balance = Math.max(0, balance - (minimumPayment - balance * interest/12));
minimumPayment = Math.max(20, balance * minimumPaymentRate);
console.log(yearChange? year: "" + " " + balance.toFixed(2) + " " + payments + " " + interestPaid.toFixed(2) + " " + minimumPayment.toFixed(2));
payments++;
}
}
var balance = 1500;
var minimumPaymentRate = 0.02;
var interest = 0.18;
displayWelcome()
var minimumPayment = calculateminimumPaymentment(balance, minimumPaymentRate);
displayPayments(balance, interest, minimumPayment);
出力
Year Balance Payment # Interest Paid Minimum Payment
1492.50 1 22.50 29.85
1485.04 2 44.89 29.70
1477.61 3 67.16 29.55
1470.22 4 89.33 29.40
1462.87 5 111.38 29.26
1455.56 6 133.32 29.11
1448.28 7 155.16 28.97
1441.04 8 176.88 28.82
1433.83 9 198.50 28.68
1426.67 10 220.00 28.53
1419.53 11 241.40 28.39
2
1405.37 13 283.88 28.11
1398.35 14 304.96 27.97
1391.35 15 325.94 27.83
1384.40 16 346.81 27.69
1377.47 17 367.58 27.55
1370.59 18 388.24 27.41
1363.73 19 408.80 27.27
1356.92 20 429.25 27.14
1350.13 21 449.61 27.00
1343.38 22 469.86 26.87
1336.66 23 490.01 26.73
3
私もそれが示すように、なるように年の数と一緒にそれを作る方法を理解していませんこれを実行すると、残りの部分をスキップして次の行に再び表示するので、対応するデータ。 1年目を意味する1行目に1を持たせる方法も知りたい。希望する出力を以下に示す。お時間を
感謝。変更する
出力をhtmlテーブルに表示したくないのですか? – funcoding
@funcodingいいえ、ちょうど要件に応じてコンソールにあります。 – AvenNova