簡體   English   中英

接收輸入數字,直到用戶輸入零。 然后輸出最高。 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM