【问题标题】:How to use a for loop to add to a previous value until the loop is over?如何使用 for 循环添加到先前的值,直到循环结束?
【发布时间】:2016-06-26 04:37:30
【问题描述】:

专注于 for 循环。我希望有兴趣建立最新的价值变量。运行此脚本时,我每年都会获得相同的利率和相同的值。我希望它使用最后一个值变量来计算每年的新值。以下是程序在浏览器中的显示方式: 年份:1 利息:750 值:10750

年份:2 利息:750 值:10750

年份:3 利息:750 值:10750

年份:4 利息:750 值:10750

年份:5 利息:750 值:10750

投资金额 = 10000 利率 = 7.5 年 = 5 终值为 10750

感谢您使用 Future Value 应用程序。价值和兴趣应该会增加。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">  
        <title>Future Value Application</title>
<script>
    var futureValue;


    var investment = prompt("Enter investment amount as xxxxx.xx", 10000);
    investment = parseFloat(investment);
    var rate = prompt("Enter interest rate as xx.x", 7.5);
    rate = parseFloat(rate);
    var years = prompt("Enter number of years", 10);
    years = parseInt(years);



    // calulate future value
    futureValue = investment;


    for (var i = 1; i <= years; i++ ) {
        var cInterest;
        var value;
        document.write("Year: " +(i) + "<br>");
        cInterest = futureValue * rate / 100;
        cInterest = parseInt(cInterest);
        document.write("Interest: " + cInterest + "<br>");
        value = futureValue + cInterest;
        value = parseInt(value);
        document.write ("Value: " + value + "<br><br>");
        cInterest += value;
    }
    futureValue = parseInt(futureValue);


 </script>
   </head>
   <body>
<main>
    <script>
        document.write("Investment amount = " + investment);
        document.write(" Interest rate = " + rate);
        document.write(" Years = " + years);
        document.write(" Future Value is " + (futureValue + futureValue* rate / 100) + "<br><br>");
    </script>
    Thanks for using the Future Value application.
</main>

【问题讨论】:

  • 不清楚你有什么问题——你肯定知道如何改变变量的值——那么你为什么不在你的循环中做呢?旁注:考虑阅读有关 JavaScript 的内容...在循环中声明变量不会给您带来任何作用域优势...
  • 您必须在此处向我们提供有关您要应用的财务算法的准确信息 :-) 每年都会将利率添加到投资中:(投资+去年的利息)*利率.. .?
  • 年份:1 利息:750 值:10750 年份:2 利息:750 值:10750 年份:3 利息:750 值:10750 年份:4 利息:750 值:10750 年份:5 利息:750价值:10750 投资金额 = 10000 利率 = 7.5 年 = 5 终值是 10750 感谢您使用终值应用程序。这就是我的计划的样子,正如您所见,我希望每年都能积累兴趣,然后给我最终的投资回报。

标签: javascript


【解决方案1】:

考虑看看这个: https://msdn.microsoft.com/library/bzt2dkta(v=vs.94).aspx

正如 alexei 在他的评论中提到的,你的 value 和 cInterest 变量都在你的 for 循环中声明。这些变量的值仅在它们存在的范围内持续存在。在这种情况下,这两个变量都在 for 循环内。因此,在每次迭代之后,它们都会被重新初始化。

我不确定你具体想要发生什么,但你可以这样做:

    var cInterest;
    var value; //not sure what you want to do with this.
    for (var i = 1; i <= years; i++ ) {

    document.write("Year: " +(i) + "<br>");
    cInterest = futureValue * rate / 100;
    cInterest = parseInt(cInterest);
    document.write("Interest: " + cInterest + "<br>");
    value = futureValue + cInterest; //value is getting 'reset' here.
    value = parseInt(value);
    document.write ("Value: " + value + "<br><br>");
    cInterest += value;
}
futureValue = parseInt(futureValue);

你的 cInterest 应该用这个来正确计算。但是,我不确定您打算如何处理 value 变量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-12-03
    • 2017-09-30
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    • 2021-07-01
    相关资源
    最近更新 更多