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