Java黑皮书课后题第5章:*5.31(金融应用:计算CD价值)假设你用10 000美元投资一张CD,年利率为5.75%。编写程序,提示由用户输入一个金额数、年获利率、月份数,然后显示一个表格

5.31(金融应用:计算CD价值)假设你用10 000美元投资一张CD,年获利率为5.75%。编写程序,提示由用户输入一个金额数、年获利率、月份数,然后显示一个表格

  • 题目
    • 题目概述
    • 运行示例
    • 破题
  • 代码

题目

题目概述

5.31(金融应用:计算CD价值)假设你用10 000美元投资一张CD,年获利率为5.75%。
1个月后CD价值:10000 + 10000 * 5.75 / 1200 = 10047.92
2个月后: 10047.92(书上错误印刷为10047.91,下同) + 10047.92 * 5.75 / 1200 = 10096.06
3个月后:10096.06 + 10096.06 * 5.75 / 1200 = 10144.44
编写程序,提示由用户输入一个金额数、年利率、月份数,然后显示一个表格,如下运行示例所示

运行示例

Enter the initial deposit amount:10000
Enter annual percentage yield:5.75
Enter maturity period(number of months): 18Month	CD Value
1		10047.92
2		10096.06
3		10144.44
4		10193.05
5		10241.89
6		10290.97
7		10340.28
8		10389.82
9		10439.61
10		10489.63
11		10539.89
12		10590.40
13		10641.14
14		10692.13
15		10743.37
16		10794.84
17		10846.57
18		10898.54Process finished with exit code 0

破题

假设金额数为amout、年利率为rate(5%–>5)、月份数为month
那么CD价值为:amount * Math.pow(1+rate/1200, i)

代码

import java.util.Scanner;public class Test5_31 {public static void main(String[] args) {// 获取用户输入Scanner input = new Scanner(System.in);System.out.print("Enter the initial deposit amount:");double amount = input.nextDouble();System.out.print("Enter annual percentage yield:");double rate = input.nextDouble();System.out.print("Enter maturity period(number of months): ");int month = input.nextInt();// 建立从月份数到价值模型并输出double value;// 输出System.out.println("\nMonth\tCD Value");for (int i = 1; i <= month;i++){value = amount * Math.pow(1+rate/1200, i);System.out.printf("%d\t\t%8.2f\n", i, value);}}
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部