四次元口袋 2019-07-24 17:18 采纳率: 0%
浏览 1116

随机数生成器只生成一个随机数

有以下函数:

//Function to get random numberpublic static int RandomNumber(int min, int max){
    Random random = new Random();
    return random.Next(min, max);}

不知道怎么描述:

byte[] mac = new byte[6];for (int x = 0; x < 6; ++x)
    mac[x] = (byte)(Misc.RandomNumber((int)0xFFFF, (int)0xFFFFFF) % 256);

如果在运行时使用调试器单步执行该循环,则会得到不同的值(这正是我想要的)。 但是,如果将断点放在该代码之下两行,则“ mac”数组的所有成员的值都相等。
为什么会这样?

  • 写回答

5条回答

  • C_SESER 2019-07-25 02:04
    关注

    这个不是python呀……

    但问题肯定出在两点:
    1. seed种子的问题,如果是拿时间作为seed,时间间隔太短,数组里的数字肯定是一样的
    2. 这种问题的种子问题不应该你自己解决,去查查api,一定是有专门生成某个区间内n个数的随机数的函数

    评论

报告相同问题?

悬赏问题

  • ¥15 想问一下stata17中这段代码哪里有问题呀
  • ¥15 flink cdc无法实时同步mysql数据
  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决