递归火山软件开发平台

标题: 请问置随机数种子问题 [打印本页]

作者: 1105110683    时间: 20 小时前
标题: 请问置随机数种子问题
(, 下载次数: 0)

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


作者: 小莫    时间: 20 小时前
在启动方法里置随机数种子就行,不要在需要用到随机数的方法里置种子
作者: 1105110683    时间: 19 小时前
小莫 发表于 2026-7-21 00:54
在启动方法里置随机数种子就行,不要在需要用到随机数的方法里置种子

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

这样结果还是全部一样呢
作者: 笑笑笑不出来    时间: 19 小时前
<火山程序 类型 = "通常" 版本 = 1 />

包 火山.程序

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

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

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

# ===

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

作者: 笑笑笑不出来    时间: 19 小时前
1105110683 发表于 2026-7-21 01:48
计次循环 (10)
{
    置随机数种子 ()


                    

                        

                           

                           
正在渲染火山代码...

                        

                    

                    复制代码
               

作者: aixunsoft    时间: 18 小时前
<火山程序 类型 = "通常" 版本 = 1 />

变量 欲置入的种子数值 <类型 = 整数 注释 = "本参数值如果为0,将使用当前计算机系统的时钟毫秒值." @默认值 = 0>
在同一个毫秒执行完了,所以就是同一个种子,同一个种子的第一个随机数,就是一样的,没有特殊要求火山可以不调用置随机种子,默认会自动调用一次
作者: Xelloss0618    时间: 13 小时前
本帖最后由 Xelloss0618 于 2026-7-21 08:46 编辑

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





欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4