|
本帖最后由 Xelloss0618 于 2026-7-21 08:46 编辑 一、【置随机种子】默认用的种子值是【取启动时间】,所以短时间内多次置种子值,都是同一个结果。 二、一个线程内,如果没有置种子值就执行【取随机数】,火山会自动置一次种子值。所以没什么特殊情况,无需执行这个【置随机种子】。三、特殊情况指的是短时间内多次启动线程并取随机数,这时候默认分配的种子值一样,随机数也就一样。所以建议自己给种子值加料,或者用标准库的随机数 |
|
<火山程序 类型 = "通常" 版本 = 1 /> 变量 欲置入的种子数值 <类型 = 整数 注释 = "本参数值如果为0,将使用当前计算机系统的时钟毫秒值." @默认值 = 0> 在同一个毫秒执行完了,所以就是同一个种子,同一个种子的第一个随机数,就是一样的,没有特殊要求火山可以不调用置随机种子,默认会自动调用一次 |
1105110683 发表于 2026-7-21 01:48 |
|
<火山程序 类型 = "通常" 版本 = 1 /> 包 火山.程序 类 启动类 <公开 基础类 = 窗口程序类> { 变量 主窗口对象 <类型 = 我的主窗口> 方法 启动方法 <公开 类型 = 整数> { 主窗口对象.创建主窗口 () 返回 (1) } } # === 类 我的主窗口 <基础类 = 窗口 注释 = "样例主窗口" @视窗.布局 = "client_size = \"500, 300\"" 标题 = "我的主窗口"> { 方法 我的主窗口_创建完毕 <接收事件 类型 = 整数 注释 = "当本组件及其中所有子组件均被创建完毕后发送此事件."> 参数 来源对象 <类型 = 我的主窗口 注释 = "提供事件产生的具体来源对象"> 参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0."> { 置随机数种子 () 计次循环 (10) { 调试输出 (取随机数 (1, 100)) } 返回 (0) } } |
小莫 发表于 2026-7-21 00:54 计次循环 (10) { 置随机数种子 () 测试 () } 这样结果还是全部一样呢 |
| 在启动方法里置随机数种子就行,不要在需要用到随机数的方法里置种子 |
|Archiver|手机版|小黑屋|递归火山软件开发平台
( 鄂ICP备18029190号 )
GMT+8, 2026-7-21 21:50 , Processed in 0.096263 second(s), 22 queries .
Powered by Discuz! X3.4
© 2001-2017 Comsenz Inc.