在提示中输入3个数字并在JavaScript中获取最大值

时间:2014-06-20 16:45:02

标签: javascript

我是新手。我正在为一堂课做练习,并且主题是我试图让用户在出现的提示窗口中输入3个数字。这样可以正常工作,但是我试图在提示结束后获得输入的最高数字。正如我在代码中所提到的,可以将任何东西添加到Math.max中以使其工作,它非常接近工作,但并不完全存在。我感谢任何帮助。

<!DOCTYPE html>
<html lang="en">
<head>
    <title>
        Number Input with Prompt
    </title>
    <script type = "text/javascript">
        <!--
        var total;
        var inputNumber;
        var value;
        var highestNumber;
        var finalMax = Math.max.  //<-----Can anything be added here to get the maximum number entered in the prompt window that appears?
        total = 0;
        inputNumber = 1;

        while ( inputNumber <= 3 ){
            highestNumber = window.prompt( "Enter number " + inputNumber + " of 3:" , "" );
            while(isNaN(value = parseInt( highestNumber ))){
                highestNumber = window.prompt( "Enter number " + inputNumber + " of 3:" , "" );
            }
            total = total + value;
            inputNumber = inputNumber + 1;
        }
        document.writeln(
            "<h1>The highest number is " + finalMax + "</h1>" );
  // -->
    </script>
</head>
<body>
</body>
</html>

4 个答案:

答案 0 :(得分:1)

此方法将响应与最新的最高值进行比较。

logic =“如果值&gt; highestNumber,highestNumber = value”

<script type = "text/javascript">

  <!--

    var total;
    var inputNumber;
    var value;
    var highestNumber;
    //var finalMax = Math.max.  //<-----Can anything be added here to get the maximum number entered in the prompt window that appears?

    total = 0;
    inputNumber = 1;

    while ( inputNumber <= 3 ){

      value = window.prompt( "Enter number " + inputNumber + " of 3:" , "" );

      while(isNaN(parseInt( value ))){
       value = window.prompt( "Enter number " + inputNumber + " of 3:" , "" );
      }

      if (highestNumber == undefined || highestNumber < value) {
        highestNumber = value;
      }

      total = total + value;

      inputNumber = inputNumber + 1;

    }



    document.writeln(
         "<h1>The highest number is " + highestNumber + "</h1>" );

  // -->

</script>

答案 1 :(得分:1)

更好的方法就是这样

var nums = new Array();
for(var i=0; i<3; i++){
    nums[i] = window.prompt( "Enter number " + (i+1) + " of 3:" , "" );
}

document.writeln("<h1>The highest number is " + Math.max.apply(null, nums) + "</h1>" );

答案 2 :(得分:0)

此方法记录所有答案并在最后运行比较,从而使用Math.max()

logic =“highestNumber = Math.max(第一,第二,第三)”

<script type = "text/javascript">

  <!--

    var total;
    var inputNumber;
    var value;
    var highestNumber = [];
    //var finalMax = Math.max.  //<-----Can anything be added here to get the maximum number entered in the prompt window that appears?

    total = 0;
    inputNumber = 1;

    while ( inputNumber <= 3 ){

      value = window.prompt( "Enter number " + inputNumber + " of 3:" , "" );

      while(isNaN(parseInt( value ))){
       value = window.prompt( "Enter number " + inputNumber + " of 3:" , "" );
      }

      highestNumber[inputNumber] = value;

      total = total + value;

      inputNumber = inputNumber + 1;

    }

    finalMax = Math.max(highestNumber[1], highestNumber[2], highestNumber[3]);

    document.writeln(
         "<h1>The highest number is " + finalMax + "</h1>" );

  // -->

</script>

答案 3 :(得分:0)

如果您需要或想要使用Math.max来查找最大值,则应将每个有效条目添加到数字数组并调用Math.max.apply(null, numbers);

以下小提琴显示了这一点:http://jsfiddle.net/T2Gxm/