2015-11-26 290 views
0

問題 - 開發一個類平均腳本,每次運行時都會處理任意數量的結果。提示用戶輸入每個結果,直到他/她輸入-1。 (A哨兵) 確定班級平均數並將其寫入頁面。 如果未輸入任何結果(第一個輸入爲-1),則會顯示一條消息指示。JavaScript while while循環

我的輸出結束了,我看不出我做錯了什麼。

<script> 

var result; 
var index = 0; 
var average = 0 ; 
var sum = 0; 

result = prompt("Please enter your grade, enter -1 to exit"); 
parseInt(result); 

if(result == -1) 
{ 
    alert("no input"); 
} 
else 
{ 

    while(result != -1) 
    { 
     sum = result + sum;   //adds on result to current sum 
     index++; 
     average = sum/index;  //index divided by sum to get average 

     result = prompt("Please enter a number, enter -1 to exit"); 
     parseInt(result); 


    } 
    document.write("average = " + average); 

} 
</script> 

回答

0

試試這個..

var result; 
 
var index = 0; 
 
var average = 0 ; 
 
var sum = 0; 
 

 
result = prompt("Please enter your grade, enter -1 to exit"); 
 
result =parseInt(result);//changed 
 

 
if(result == -1) 
 
{ 
 
alert("no input"); 
 
} 
 
else 
 
{ 
 

 
while(result != -1) 
 
{ 
 
sum = result + sum;   //adds on result to current sum 
 
index++; 
 
average = sum/index;  //index divided by sum to get average 
 

 
result = prompt("Please enter a number, enter -1 to exit"); 
 
result =parseInt(result);//changed 
 

 

 
} 
 
document.write("average = " + average); 
 

 
}

你是每輪整數值缺失result

+0

非常感謝! :) – ilumo

0

當您插入數據時,您忘記了重新分配解析結果。

result = parseInt(result); 
0

,如果你只使用整數或parseFloat();十進制數字,因爲你需要做任何操作之前,將它們轉換處處設置parseInt();

3

你要重新分配的結果,而不是僅僅將它轉換成int

result = parseInt(result)

或者,你可以快速投的操作(骯髒的方式):

sum = +result + +sum;

+變量之前的意思是「將變量作爲整數處理」

+0

謝謝:)這樣一個愚蠢的錯誤,但這就是我們學習的方式 – ilumo

0

使用parseInt函數()的分配和分配回到結果變量。

result = parseInt(result);