【问题标题】:How to generate a random number in dart excluding a particular no.?如何在飞镖中生成不包括特定编号的随机数?
【发布时间】:2019-09-19 22:00:50
【问题描述】:

那么,伙计们,我们如何在一个范围之间生成一个随机数,但它不应该包含一个特定的数字。在飞镖的那个范围内?

【问题讨论】:

    标签: dart


    【解决方案1】:

    这里是一个例子:我们设置了一个 FlatButton,当按下时,var "leftdicenumber" 接收一个随机数 betxeen 1 和 6:

      FlatButton(
                  onPressed: () {
                    
                      leftdicenumber = Random().nextInt(6) + 1;
                      
                    
                  },);
    

    【讨论】:

      【解决方案2】:

      让我给你看一个例子;

      // 创建了我的方法来获取随机数并在我想要的任何地方使用 // 使用数学库随机创建数字并等于数字。 // 现在我们必须检查它是否包含 0,所以我们将再次调用方法来创建新的随机数列表,其中一个不包含 0。

      导入“飞镖:数学”;

      int void randomNumbers() 
       {
         int numbers=Random().NextInt(10); 
      
       if(numbers!=0)
       {
         return numbers;
       }
       else
       {
          int newNumbers= randomNumbers();
          return newNumbers,
       }
      }
      

      这样你就可以随时随地调用下面创建的方法了。

      【讨论】:

      • 这里没有性能问题吗?如果randomNumbers() 方法总是生成0 怎么办?
      【解决方案3】:

      取决于对时间和结果分布的要求,假设您希望保持均匀分布并希望避免调用新的随机数,并且使用范围 0-2000 并填写 100

      import 'dart:math';
      void main() { 
             var n = 100; 
             do { 
                r = rng.nextInt(2000);
             }
             if (r >= n){
                r++
             }
             print(r); 
      }
      

      【讨论】:

        【解决方案4】:

        如果你想打印从 0 到 999 的随机数,除了数字 100。 那么下面的代码片段就足够了。

        import 'dart:math';
        void main() { 
          var n = 100; 
          do { 
            r = rng.nextInt(1000);
          } while (r == n);
          print(r); 
        }  
        

        【讨论】:

        • 不应该是 while r!=n 吗?
        • 没有。仅当生成 100 以外的随机数时,循环才会退出。
        猜你喜欢
        • 1970-01-01
        • 2022-10-17
        • 2022-06-19
        • 2020-09-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-08
        • 2019-05-27
        相关资源
        最近更新 更多