2017-01-12 47 views
0

我有這個賦值使得用戶可以輸入一個有效的輸入,並使用do while循環顯示結果。現在它可以允許用戶輸入,但不會顯示計數器變量的結果。任何幫助將是巨大的感謝使用一個do-while循環驗證用戶輸入,然後允許顯示有效輸入

alert("Sum the Numbers Application"); 
 

 
var sum = 0; 
 
var num = parseInt(prompt("Enter the top numbers to sum", "5")); 
 
for (var i = 1; i <= num; i++) { 
 
    sum += i; 
 
} 
 
if (num <= 0 || num > 100 || isNaN(num)) { 
 
    alert("Not a valid entry."); 
 
} else { 
 
    alert("Sum of the numbers from 1 through " + num + " is " + sum + ".") 
 
} 
 

 
do { 
 
    var num = parseInt(prompt("Enter the top numbers to sum", "5")); 
 
} 
 
while (num <= 0 || num > 100 || isNaN(num))

+0

_不能肯定你的意思是「它的工作原理,讓用戶輸入,但不會從櫃檯VAR顯示結果」 _?預期的結果是什麼? – guest271314

+0

在執行「do-while」循環之前,您正在計算總和。這不是明顯倒退嗎? – Barmar

+0

對不起,我剛從js開始。所以彈出窗口會告訴用戶該條目無效。然後它會提示用戶像開始時一樣再次輸入一個號碼。但是,如果有一個有效的條目沒有發生。任務是能夠運行循環,直到條目有效,然後顯示數字的總和 –

回答

0

我覺得這是需要。 while循環需要在頂部檢查有效的響應。一旦輸入有效的響應,循環可以退出並計算總和。

alert("Sum the Numbers Application"); 
 

 
var sum = 0; 
 
var valid = false; 
 
do { 
 
    var num = parseInt(prompt("Enter the top numbers to sum", "5")); 
 
    if (num <= 0 || num > 100 || isNaN(num)) { 
 
    alert("Not a valid entry."); 
 
    } else { 
 
    valid = true; 
 
    } 
 
} 
 
while (!valid) 
 

 
for (var i = 1; i <= num; i++) { 
 
    sum += i; 
 
} 
 
alert("Sum of the numbers from 1 through " + num + " is " + sum + ".")