2016-06-24 8 views
0

forループに焦点を当てます。私は、関心が最新の価値変数を構築することを望む。このスクリプトが実行されると、毎年同じ金利と同じ価値が得られます。最後の値変数を使用して、毎年新しい値が何であるかを計算します。ここではプログラムがブラウザに表示する方法である: 年:1 利息:750 値:10750forループを使用して、ループが終了するまで前の値に追加する方法?

年:2 利息:750 値:10750

年:3 利息:750 値:10750

年:4 利息:750 値:10750

年:5 利息:750 値:10750

投資額= 10000金利= 7.5年= 5将来価値は、将来価値application.The値とインクリメントすべき利息を使用するための10750の

おかげです。

<!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> 

+0

変数の値を変更する方法は間違いなくわかっていますが、なぜあなたのループでやってみませんか?サイドノート:JavaScriptに関する何かを読むことを検討してください...ループの中の変数を宣言しても、有効なスコープを得ることはできません。 –

+0

ここで適用する財務的な忠誠について正確な情報を提供しなければなりません:-) 金利は毎年投資に追加されます:(投資+金利昨年)*金利...? – Legends

+0

年:1 関係:750 値:10750 年:2 関係:750 値:10750 年:3 関係:750 値:10750 年:4 関係:750 値: 10750 年:5 利息:750 値:10750 投資額= 10000金利= 7.5年= 5将来価値は10750の おかげFでありますまたは将来価値アプリケーションを使用します。これは私のプログラムがどのように見えるかを示しています。あなたが見ることができるように、私は毎年貯蓄をして投資に対する最終的な利益を得たいと思っています。 –

答えて

0

これを見て取って考えてみましょう: https://msdn.microsoft.com/library/bzt2dkta(v=vs.94).aspx

アレクセイは彼のコメントで述べたように、両方のあなたの価値とcInterest変数はループのためにあなたの内部で宣言されています。これらの変数の値は、それらが存在するスコープ内でのみ持続します。この場合、これらの変数は両方とも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が適切にこれを計算する必要があります。しかし、私はあなたがバリュー変数を使って何を計画しているのかは不明です。

関連する問題