【问题标题】:Calculating Interest (Java), the program should print the projected account balance after an arbitrary numbers of years计算利息 (Java),程序应在任意年数后打印预计的帐户余额
【发布时间】:2016-01-17 18:02:29
【问题描述】:

请帮助我。基本上,程序应该要求用户输入一个代表储蓄账户初始余额的数字。将此数字分配给一个名为 balance 的双变量。 要求一个代表帐户年利率(百分比)的数字。将此数字除以 100.0 并将其分配给名为 rate 的双精度变量。我必须使用循环来更新余额,因为它每年都在变化。我被困在那部分。这是我到目前为止的代码:

   public static void calcInterest(){
System.out.println("Please enter the account balance : ");
     System.out.println("Please enter the annual interest rate : ");
     System.out.println("Please enter the number of years : ");
     Scanner input = new Scanner (System.in);
     double balance = input.nextDouble();
     double y = input.nextDouble();
     double rate = (y/100);
     int years = input.nextInt();


     }

【问题讨论】:

  • 为什么需要循环播放多年?为什么不立即使用 Math.pow 进行计算呢?您是否需要显示每一年的余额,包括年数?
  • 嗯,这就是我被告知要做的,不,不是每一年都必须显示,只是输入年份的余额。您将如何使用 Math.pow 来实现?
  • 这听起来像是一个开始的Java类,所以我假设他们希望你使用while而不是for循环。创建一个counter=1 变量和一个while 循环,每次迭代递增计数器并在counter==years 时停止。然后当然每次都将rate * balance添加到balance
  • 是的,我刚开始使用 Java,代码看起来如何?结构明智?谢谢你:)。

标签: java balance


【解决方案1】:

在这种情况下没有充分的理由使用循环,但我想这是出于学习目的。 您可以创建一个循环计算每年的新余额,如下所示:

for(int i = years; i > 0; i--)
    balance = balance * y;

或者使用 Math.pow(这遵循公式 startvalue * rate of change^time = result):

balance = balance * Math.pow(y, years);

【讨论】:

  • 现在更有意义了:)。它起作用了:D。谢谢!
  • 没问题,希望你明白它是如何工作的,否则oracle有一些关于for循环的好文档docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html
  • 将检查它,只是想检查它是否按我认为的那样工作。谢谢你:)。
猜你喜欢
  • 2021-11-08
  • 1970-01-01
  • 1970-01-01
  • 2011-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多