递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 192|回复: 6
打印 上一主题 下一主题

[视窗] 请问置随机数种子问题

[复制链接]

13

主题

34

帖子

163

积分

注册会员

Rank: 2

积分
163
跳转到指定楼层
楼主
发表于 21 小时前 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式


请问为什么加了 置随机数种子 () 后调试输出4个结果都是相同的?不加就不相同

回复

使用道具 举报

31

主题

2901

帖子

1万

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
10417
7#
发表于 13 小时前 | 只看该作者
本帖最后由 Xelloss0618 于 2026-7-21 08:46 编辑

一、【置随机种子】默认用的种子值是【取启动时间】,所以短时间内多次置种子值,都是同一个结果。
二、一个线程内,如果没有置种子值就执行【取随机数】,火山会自动置一次种子值。所以没什么特殊情况,无需执行这个【置随机种子】。三、特殊情况指的是短时间内多次启动线程并取随机数,这时候默认分配的种子值一样,随机数也就一样。所以建议自己给种子值加料,或者用标准库的随机数
回复

使用道具 举报

17

主题

158

帖子

1803

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
1803
QQ
6#
发表于 18 小时前 | 只看该作者
<火山程序 类型 = "通常" 版本 = 1 />

变量 欲置入的种子数值 <类型 = 整数 注释 = "本参数值如果为0,将使用当前计算机系统的时钟毫秒值." @默认值 = 0>
在同一个毫秒执行完了,所以就是同一个种子,同一个种子的第一个随机数,就是一样的,没有特殊要求火山可以不调用置随机种子,默认会自动调用一次
交流群95838248
回复

使用道具 举报

6

主题

40

帖子

389

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
389
5#
发表于 19 小时前 | 只看该作者
1105110683 发表于 2026-7-21 01:48
计次循环 (10)
{
    置随机数种子 ()


                    

                        

                           

                           
正在渲染火山代码...

                        

                    

                    复制代码
               
火山视窗火山PC软件开发平台交流群
QQ群:95838248
回复

使用道具 举报

6

主题

40

帖子

389

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
389
地板
发表于 19 小时前 | 只看该作者
<火山程序 类型 = "通常" 版本 = 1 />

包 火山.程序

类 启动类 <公开 基础类 = 窗口程序类>
{
    变量 主窗口对象 <类型 = 我的主窗口>

    方法 启动方法 <公开 类型 = 整数>
    {

        主窗口对象.创建主窗口 ()
        返回 (1)
    }
}

# ===

类 我的主窗口 <基础类 = 窗口 注释 = "样例主窗口" @视窗.布局 = "client_size = \"500, 300\"" 标题 = "我的主窗口">
{
    方法 我的主窗口_创建完毕 <接收事件 类型 = 整数 注释 = "当本组件及其中所有子组件均被创建完毕后发送此事件.">
    参数 来源对象 <类型 = 我的主窗口 注释 = "提供事件产生的具体来源对象">
    参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
    {
        置随机数种子 ()
        计次循环 (10)
        {
            调试输出 (取随机数 (1, 100))
        }
        返回 (0)
    }
}
火山视窗火山PC软件开发平台交流群
QQ群:95838248
回复

使用道具 举报

13

主题

34

帖子

163

积分

注册会员

Rank: 2

积分
163
板凳
 楼主| 发表于 20 小时前 | 只看该作者
小莫 发表于 2026-7-21 00:54
在启动方法里置随机数种子就行,不要在需要用到随机数的方法里置种子

计次循环 (10)
{
    置随机数种子 ()
    测试 ()
}

这样结果还是全部一样呢
回复

使用道具 举报

27

主题

165

帖子

1371

积分

银牌会员

Rank: 6Rank: 6

积分
1371
沙发
发表于 21 小时前 | 只看该作者
在启动方法里置随机数种子就行,不要在需要用到随机数的方法里置种子
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2026-7-21 22:09 , Processed in 0.095905 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表