Java黑皮书课后题第5章:*5.30(金融应用:复利值)假设你每月在储蓄账户上多存100美元,年利率为5%,那么每月利率是0.05 / 12 = 0.00417。编写程序提示用户输入数据显示定月钱数
生活随笔
收集整理的這篇文章主要介紹了
Java黑皮书课后题第5章:*5.30(金融应用:复利值)假设你每月在储蓄账户上多存100美元,年利率为5%,那么每月利率是0.05 / 12 = 0.00417。编写程序提示用户输入数据显示定月钱数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
5.30(金融應用:復利值)假設你每月在儲蓄賬戶上多存100美元,年利率為5%,那么每月利率是0.05 / 12 = 0.00417。編寫程序提示用戶輸入數據顯示定月錢數
- 題目
- 題目概述
- 破題
- 代碼
- 運行示例
題目
題目概述
*5.30(金融應用:復利值)假設你每月在儲蓄賬戶上多存100美元,年利率為5%,那么每月利率是0.05 / 12 = 0.00417。
在一個月后,賬戶上的值變成:
100 * (1 + 0.00417 ) = 100.417
在第二個月后,賬戶上的值變成:
(100 + 100.417) + (1 * 0.00417) = 201.252
第三個月后,賬戶上的值變成:
(100 + 201.252) * ( 1 + 0.00417) = 302.507
以此類推
編寫程序提示用戶輸入一個金額數(如100)、年利率(如5)以及月份數(如6),然后顯示給定月份后賬戶上的錢數
破題
上面式子進行變換,即可得出:
第n個月之后,賬戶上的值變成:100 * ( n + 0.00417 ) * Math.pow(1+0.00417, n-1)
如年利率為rate、金額數為amount,上式即可再化簡為:amount * ( n + rate / 1200 ) * Math.pow(1 + rate / 1200, n-1)
將用戶輸入代入上式即可
代碼
import java.util.Scanner;public class Test5_30 {public static void main(String[] args) {// 獲取用戶輸入Scanner input = new Scanner(System.in);System.out.println("輸入金額數");double amount = input.nextDouble();System.out.println("輸入年利率(省略%,5.75%-->5.75):");double rateOfYear = input.nextDouble() / 1200;System.out.println("輸入月份數:");int month = input.nextInt();// 計算給定月份后賬戶余額double balance = amount * ( month + rateOfYear ) * Math.pow(1 + rateOfYear, month-1);System.out.println(balance);} }運行示例
輸入金額數 100 輸入年利率(省略%,5.75%-->5.75): 5 輸入月份數: 2 201.25173611111111Process finished with exit code 0總結
以上是生活随笔為你收集整理的Java黑皮书课后题第5章:*5.30(金融应用:复利值)假设你每月在储蓄账户上多存100美元,年利率为5%,那么每月利率是0.05 / 12 = 0.00417。编写程序提示用户输入数据显示定月钱数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java黑皮书课后题第5章:**5.28
- 下一篇: Java黑皮书课后题第5章:*5.31(