您当前的位置: 首页 >  ar

Allen Su

暂无认证

  • 2浏览

    0关注

    431博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Dart 教程系列第 29 篇】Dart 生成随机数、以及生成指定范围的随机数

Allen Su 发布时间:2021-04-14 23:16:35 ,浏览量:2

这是【Dart 教程系列第 29 篇】,如果觉得有用的话,欢迎关注专栏。

随机数在程序中是经常会用到的,本篇博客说下在 Dart 语言中,如何生成随机数,以及生成指定范围的随机数。

文章目录
      • 一:生成随机数
      • 二:生成指定范围内的随机数

一:生成随机数

Dart 生成随机数的方法是用 Random 类中的 nextInt 方法来实现,该方法传入的参数是你需要随机的最大值但不包括最大值,最小值从 0 开始且包括 0,使用 Random 类前需要引入

import 'dart:math';

举例说明,如下代码所示

int value = Random().nextInt(5); // 取值范围是 [0,4] 或者 [0,5)

Dart 提供的随机数的方法只能从 0 开始,但我们经常会遇到指定某个范围内的随机数,既然 Dart 不支持,那就自己写一个吧。

二:生成指定范围内的随机数

其实很简单,就是多增加一个基数的事情,如下代码所示

int next(int min, int max) {
  int res = min + Random().nextInt(max - min);
  return res;
}

将最小值参数 min 作为基数,然后将 max - min 的差作为可取随机数,

next 函数的取值范围是 [min,max - min)

举例说明,比如 next(3, 10),因为 Random().nextInt(10 - 3) 的取值范围是 [0,7),所以加上基数 3 后的取值范围就是 [3,10) 。

有了这思路,当你希望最大值包含在区间内,你只需要

int next(int min, int max) {
  int res = min + Random().nextInt(max - min + 1);
  return res;
}

当然,如果想实现其它功能,举一反三即可。

你的问题得到解决了吗?欢迎在评论区留言。

赠人玫瑰,手有余香,如果觉得文章不错,希望可以给个一键三连,感谢。

结束语 技术是一点一点积累的,大神也不是一天就可以达到的。原地不动就是退步,所以每天进步一点点。 最后,附上一句格言:"好学若饥,谦卑若愚",望共勉。
关注
打赏
1656491068
查看更多评论
立即登录/注册

微信扫码登录

0.0838s