You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity中如何生成长度为25、值在1-10间的随机float数组?

Unity随机float数组生成代码修正

原代码存在的问题:

  • 引用了未定义的numbers变量,while循环逻辑完全无效,仅自增计数器却未做任何赋值操作
  • foreach循环中调用Random.Range后未将结果赋值给数组元素,数组始终保持默认的0值
  • 循环结束后counter值为25,超出数组索引范围(数组合法索引为0-24),访问floats[counter]会触发数组越界错误

修正后的代码:

public float[] floats = new float[25];

// Start is called before the first frame update
void Start() 
{
    for (int i = 0; i < floats.Length; i++)
    {
        // float类型的Random.Range是左闭右开区间,用1f到11f可生成1~10之间的随机值
        floats[i] = Random.Range(1f, 11f);
        print(floats[i]);
    }
}

代码说明:

  • 使用for循环遍历数组索引,直接对每个位置的元素赋值,避免foreach无法修改数组元素的局限
  • 将Random.Range生成的随机值直接赋值给对应索引的数组元素,确保数组被正确填充
  • 循环内直接打印当前索引的元素,彻底避免数组越界问题
  • 移除了无用的counter变量,简化代码结构

内容的提问来源于stack exchange,提问作者MomoEsBilly

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 22:05:26