【问题标题】:control random number with javascript用javascript控制随机数
【发布时间】:2013-07-27 00:24:30
【问题描述】:

这是我的意图,

  1. 生成随机数
  2. 存储在变量中
  3. 清除变量
  4. 生成比以前更大的新数字
  5. 存储在变量中

我明白了

(Math.floor(Math.random()*100)+1)

对于 1-100 但不确定如何完成我想要的。

【问题讨论】:

  • 为什么总是需要更大的数字?如果您首先选择的是99,该怎么办?
  • 您需要提供更多关于您想要实现的目标的详细信息。 last+=new 永远是 > last

标签: javascript jquery math random


【解决方案1】:

下面会生成一个随机数,然后找到下一个大于它的随机数(如果大于等于99就等于它):

var num = Math.floor(Math.random()*100)+1;
alert(num); //current number
var newNum;
while((newNum = Math.floor(Math.random()*100)+1) < num && newNum < 100);
alert(newNum); //new number > num (or == num if num >= 99)

【讨论】:

    【解决方案2】:

    使用

    var ran_val = 1;
    // ... some code goes here
    ran_val = (Math.floor(Math.random()*100) + ran_val)
    

    如果随机数没有上限,

    ran_val = (Math.floor(Math.random()*(100-ran_val)) + ran_val)
    

    否则。 fwiw,您以这种方式模拟的随机数不再是均匀分布的。

    【讨论】:

      【解决方案3】:
      var numb1 = Math.floor(Math.random()*100)+1, //Generate random number
          numb2 = 0;
      
      while (numb2<numb1) {
          numb2 = Math.floor(Math.random()*100)+2; // Generate new number greater than previous
      }
      

      FIDDLE

      【讨论】:

        【解决方案4】:

        您需要有一个全局变量和一个处理随机数生成的函数。

        你可以这样做:

        var num = 1;
        
        function generaterandom(){
            num = Math.floor(Math.random()*100)+num;
        }
        

        【讨论】:

          猜你喜欢
          • 2013-12-17
          • 1970-01-01
          • 2016-11-05
          • 2010-11-10
          • 2011-07-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多