2015-11-02 71 views
-2

的指令程序:我需要我的程序的while循环帮助

你刚刚购买了音响系统,以下信贷计划花费1000 $:没有首付,每年18%的利率(因此每月1.5%),每月支付50美元。每月支付50美元用于支付利息,剩下的部分用于支付部分剩余债务。因此,第一个月你支付利息1000美元的1.5%。这是$ 15美元的利息。因此,剩下的35美元从您的债务中扣除,这会给您带来965美元的债务。下个月,您支付965.00美元的1.5%利息,即14.48美元。因此,您可以从您欠的金额(965.00 - 14.48)中扣除$ 35.52(即50 - 14.48)。编写一个程序,告诉你需要多少个月偿还贷款,以及贷款期限内支付的利息总额。使用循环计算每月之后的利息金额和债务规模。使用一个变量来计算循环迭代的次数,从而计算直到债务为零的月数。如果债务很少,最后一笔还款可能低于50美元,但不要忘记利息。

这是到目前为止我的代码:

public class ProgrammingProject5 
    { 
     public static void main(String[] args) 
     { 
       double startingDebt = 1000; 
       double interestPerMonth = 0.015; 
       double moneyDuePerMonth = 50; 
       double debt = startingDebt; 
       int m = 0; 

       while (debt > 0) 
       { 
        double monthlyInterest = (startingDebt*interestPerMonth); 
        double monthlyOwed = moneyDuePerMonth - monthlyInterest; 

        debt = startingDebt - monthlyOwed; 

        m++; 
       } 

       System.out.println("The amount of months until debt is 0: " + m); 
    } 
} 

我知道我做错了,我的月产量是错误的。如果有人能帮助我,将不胜感激。 (我真的被卡住了)。

+0

所以代码本身运行?这看起来更像是一个数学问题,而不是一个java问题。 –

+0

“我知道我做错了,我的月份输出是错误的”代码做了什么,你期望它做什么? –

+1

您正在计算每次使用起始余额的每月利息,我相信它应该按当前余额计算。 –

回答

0

每月欠付的利息金额按当前余额计算,而不是年初余额。但这真的不是这个问题的正确地方。尝试这个。

public class ProgrammingProject5 { 
    public static void main(String[] args) { 
     double startingDebt = 1000; 
     double interestPerMonth = 0.015; 
     double moneyDuePerMonth = 50; 
     double debt = startingDebt; 
     int m = 0; 

     while (debt > 0) { 
      double monthlyInterest = (debt*interestPerMonth); 
      double monthlyOwed = moneyDuePerMonth - monthlyInterest; 

      debt = debt - monthlyOwed; 

      m++; 
     } 

     System.out.println("The amount of months until debt is 0: " + m); 
    } 
}