Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中不使用math.pow计算复利_Java_Loops_For Loop_While Loop - Fatal编程技术网

在java中不使用math.pow计算复利

在java中不使用math.pow计算复利,java,loops,for-loop,while-loop,Java,Loops,For Loop,While Loop,我需要计算每月存款的储蓄账户的月复利。我必须处理的变量包括: 每月储蓄,如我每月存款125.75美元 我把同样的东西存了15个月 年利率为5.65% 现在我需要计算总储蓄额,对于这里给定的数字,最终答案应该是1958.88美元。 本质上,我使用的是A=P1+r/12^12*t,其中P是我存入的金额*months,r是APR,t是months/12以获得多少年 这里的问题是,我不能将math.pow用作作业的要求,因此我的最佳猜测是,我将使用类似于以下内容的for/while循环来计算它: pub

我需要计算每月存款的储蓄账户的月复利。我必须处理的变量包括: 每月储蓄,如我每月存款125.75美元 我把同样的东西存了15个月 年利率为5.65% 现在我需要计算总储蓄额,对于这里给定的数字,最终答案应该是1958.88美元。 本质上,我使用的是A=P1+r/12^12*t,其中P是我存入的金额*months,r是APR,t是months/12以获得多少年

这里的问题是,我不能将math.pow用作作业的要求,因此我的最佳猜测是,我将使用类似于以下内容的for/while循环来计算它:

public static void main(String[] args)
{
    double monthlySavings = 125.75;
    double APR = 5.65;
    int months = 15;
    int monthCount = 0;
    double totalSavings = 0;


    while (monthCount < months)  
    {
        totalSavings += monthlySavings + (1+APR/12/100);
        mothCount++;
    }

    System.out.printf("Your total savings will be $%.2f\n", totalSavings);
}
上面的代码不是正确的解决方案,但它是我遇到的最接近的解决方案。问题是,我每次都是在将利息累积到总金额之前,将利息应用到每月储蓄中。它为15笔存款增加了125.75*的利息。它应该做的是从125.75*利息开始,然后加上125.75,然后从到目前为止的总金额中取利息,然后再加上125.75,再从总金额中取利息,以此类推,计算月金额


这可能比我想象的要容易得多,但是我已经尝试了几个小时添加不同的占位符变量,但是我缺少一些重要的概念,请帮助

月数的循环

 for (int monthNumber = 0; monthNumber < numberOfMonths; monthNumber++)
 {
 }

你真的不需要计算一个月,但我更喜欢循环。

重新阅读我的问题后,我顿悟了。。正如我最初所想,答案比我想象的要简单得多


写一个pow方法,通过重复乘法将某物提升到幂?现在你唯一的问题是1+APR/12/100^12!=100年4月1日以上。你的月利率降低了。我不认为你不使用数学就可以计算它。不过…我很确定你是对的,1958.88美元的金额一开始就错了。。。但是老师给出了我应该得到的最终数量,并说不要使用数学。Pow,我的目标是得到和他一样的答案,不管作业有多缺陷。好吧。。。祝你的老师好运。不过,这项任务几乎是有道理的。我会把它改成计算复利而不用数学。Pow不止一次。谢谢!这是一个比我想到的好得多的主意。我唯一需要改变的是把totalSavings+=月储蓄放在第一位,然后改变totalSavings*=1+APR/12/100
totalSavings *= (APR / 12 / 100); //Although I would have separate variable for this 
totalSavings += monthlySavings;
public static void main(String[] args)
{
    double monthlySavings = 125.75;
    double APR = 5.65;
    int months = 15;
    int monthCount = 0;
    double placeHolder = 0;
    double totalSavings = 0;


    while (monthCount < months)  
    {
        placeHolder += monthlySavings;
        totalSavings = placeHolder * (1+APR/12/100);
        placeHolder = totalSavings;
        monthCount++;
    }

System.out.printf("Your total savings will be $%.2f", totalSavings);
}