[英]user enters amount on numbers then output the highest number javascript
[英]Receive input numbers until the user enters a zero. Then output the highest. javascript
正如標題所暗示的,我必須編寫一個程序,用戶輸入數字,當輸入的數字為 0 時,它會輸出輸入的最高數字。 我已經完成了大部分工作,我知道只有一點遺漏,但我無法弄清楚。
<!DOCTYPE html>
<html>
<head> <meta charset="utf-8" />
<title></title>
<script style="text/javascript">
function numbers(){
var numbers = 0;
var outMessage = "";
var numbersArray = new Array(numbers);
do{
numbers = prompt('enter 0 to cancel', 0);
}while(isNaN(numbers));
var maxNum = Math.max.apply(null, arr);
alert(maxNum);
document.getElementById('result').innerHTML = maxNum;
}
</script>
<body>
<p>Numbers Exercise</p>
<p id="numbers"></p>
<input type="button" value="Start" onClick = "numbers();">
<label id='result' />
</body>
</html>
你的問題之一是你寫var maxNum = Math.max.apply(null, arr);
但你的意思是var maxNum = Math.max.apply(null, numbersArray);
. 我認為這只是忘記更改該數組名稱。
然后在您檢查NaN(numbers)
,如果輸入有效輸入,它將始終返回 false。 您想檢查 `!(NaN(numbers)) 以便在數字無效時退出循環
然后我檢查if(numbers != 0)
在你的 do while 中,確定你是否想使用numbersArray.push(numbers)
將它推入一個數組,如果不是,則中斷循環。
我創建了一個 JSFiddle: https ://jsfiddle.net/4otwrnzL/
我認為這可以完成工作,請確定這是否是您想要的。
<!DOCTYPE html>
<html>
<head> <meta charset="utf-8" />
<title></title>
<script style="text/javascript">
function numbers(){
var numbers = 0;
var outMessage = "";
var numbersArray = new Array(numbers);
do{
var number = prompt('enter 0 to cancel', 0);
numbersArray.push(number);
}while(isNaN(number)||number != 0);
var maxNum = Math.max.apply(null, numbersArray);
alert(maxNum);
document.getElementById('result').innerHTML = maxNum;
}
</script>
<body>
<p>Numbers Exercise</p>
<p id="numbers"></p>
<input type="button" value="Start" onClick = "numbers();">
<label id='result' />
</body>
</html>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.