【问题标题】:Trying to learn javascript. Working on retirement calculator. Need Loop advice尝试学习javascript。研究退休计算器。需要循环建议
【发布时间】:2015-09-29 06:33:00
【问题描述】:

**更新我有机会以前的变量返回一个值。我仍然没有解决循环错误的方法。当我提交它时返回 5.1572 美元......,当它应该返回大约 200k 时。 **

我有一个为一些在线课程创建的退休计算器,但我无法让循​​环工作。我想就是这样。

我已验证计算器正在工作并且没有其他错误,但似乎不明白如何正确使用循环。

任何帮助将不胜感激。

试图用retire(年龄)-current(年龄)得出lengthOfCalulation。从那里我需要获取Return(利息百分比)和PerYear(每年的投资美元)并确定未来价值。

function Savings() {
    var Current  = Number(document.getElementById('AgeNow').value); 
    var Retire = Number(document.getElementById('AgeThen').value); 
    var Return = Number(document.getElementById('Return').value); 
    var PerYear = Number(document.getElementById('PerYear').value); 
    var lengthOfCalculation = Retire - Current; 
    var results;
    var total = 0;

    for (results=0; results < lengthOfCalculation; results++) {
        total = (total + PerYear) * (1 + Return);
    }
    alert("When you retire your account will have $" + total.toFixed(2));
}

【问题讨论】:

  • 提交这个问题之前你睁眼了吗?
  • @JaromandaX:你看到original revision了吗?
  • 没有右花括号,或者是拼写错误?
  • 抱歉,我没有意识到我将其作为问题提交。我更正了花括号@brenners1302,只是一个错字。
  • 您是否尝试过检查变量是否具有预期值?

标签: javascript loops calculator


【解决方案1】:

您在每次迭代中创建变量 total 并且您没有在循环中的计算中使用结果变量。这个循环每次只计算相同的结果,所以完全不循环。

【讨论】:

    【解决方案2】:

    试试这个

    function Savings() {
    var Current  = Number(document.myForm.AgeNow.value); 
    var Retire = Number(document.myForm.AgeThen.value); 
    var Return = Number(document.myForm.Return.value); 
    var PerYear = Number(document.myForm.PerYear.value); 
    var lengthOfCalculation = Retire - Current; 
    var results;
    var total = 0;
    
    for (results=0; results < lengthOfCalculation; results++) {
         total += (PerYear  * (1 + Return));
    }
    alert("When you retire your account will have $" + total.toFixed(2));
    

    }

    【讨论】:

    • 我尝试使用它,但我仍然想出不正确的答案。我不知道更好,所以很难推测,但似乎 for 语句中有些东西是错误的。我的结果大约是应有数量的 3 倍。我验证了所有变量以确保它们再次通过并且没有问题。
    • 您可以发布示例数据和预期结果吗?
    猜你喜欢
    • 2012-04-22
    • 2015-10-06
    • 2011-01-17
    • 2022-11-27
    • 1970-01-01
    • 1970-01-01
    • 2016-09-16
    • 2016-06-27
    • 2013-02-27
    相关资源
    最近更新 更多