接收输入数字,直到用户输入零.然后输出最高.JavaScript

Receive input numbers until the user enters a zero. Then output the highest. javascript

本文关键字:输入 输出 然后 JavaScript 数字 用户      更新时间:2023-11-02

正如标题所暗示的那样,我必须编写一个程序,其中用户输入数字,当输入的数字为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(数字((,因此当数字无效时循环退出

然后,我检查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>