第二章第十三题(金融应用:复利值)(Financial application: compound value)

    科技2022-07-10  149

    第二章第十三题(金融应用:复利值)(Financial application: compound value)

    **2.13(金融应用:复利值)假设你每月向银行账户存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 以此类推。

    编写程序显示六个月后账户上的钱数。(在编程练习题5.30中,你将使用循环来简化这里的代码,并能显示任何一个月之后的账户值。) Enter the monthly saving amount:100 After the sixth month,the account value is $608.81

    2.13 (Financial application: compound value) Suppose you save $100 each month in a savings account with annual interest rate 5%. Thus, the monthly interest rate is 0.05/12 = 0.00417. After the first month, the value in the account becomes 100 * (1 + 0.00417) = 100.417 After the second month, the value in the account becomes (100 + 100.417) * (1 + 0.00417) = 201.252 After the third month,the value in the account becomes (100 + 201.252) * (1 + 0.00417) = 302.507 and so on.

    Write a program that prompts the user to enter a monthly saving amount and displays the account value after the sixth month. (In Exercise 5.30, you will use a loop to simplify the code and display the account value for any month.)

    参考代码:

    方法一:

    package chapter02; import java.util.Scanner; public class Code_13 { public static void main(String[] args){ Scanner input = new Scanner(System.in); System.out.print("Enter the monthly saving amount: "); double save = input.nextDouble(); for(int i = 0;i < 5;i++){ save = (100 + save) * (1 + 0.00417); } System.out.format("After the sixth month, the account value is $%.2f",save); } }

    方法二:

    package chapter02; import java.util.Scanner; public class Code_13another { public static void main(String[] args) { double FirstMonthMoney,SecondMonthMoney, ThirdMonthMoney,FourthMonthMoney, FifthMonthMoney,SixthMonthMoney,MoneyMonthSaveAmount, TestAccountValue; System.out.print("Enter the monthly saving amount:"); Scanner MoneyInput = new Scanner(System.in); MoneyMonthSaveAmount = MoneyInput.nextDouble(); FirstMonthMoney = 100 * (1 + 0.00417); SecondMonthMoney = (100 + FirstMonthMoney) * (1 + 0.00417); ThirdMonthMoney = (100 + SecondMonthMoney) * (1 + 0.00417); FourthMonthMoney = (100 + ThirdMonthMoney) * (1 + 0.00417); FifthMonthMoney = (100 + FourthMonthMoney) * (1 + 0.00417); SixthMonthMoney = (100 + FifthMonthMoney) * (1 + 0.00417); System.out.println("After the sixth month,the account value is $" + SixthMonthMoney); MoneyInput.close(); } }

    结果显示:

    Enter the monthly saving amount:100 After the sixth month,the account value is $608.8181155768638 Process finished with exit code 0
    Processed: 0.009, SQL: 8