如何编写可生成指定大小、指定范围随机数数组并返回的方法
随机数组生成方法实现
下面提供几种常用编程语言的实现方案,默认生成包含上下限的整数随机数,需要浮点数可调整对应逻辑:
Python 实现
import random def generate_random_array(x: int, y: int, z: int) -> list: # 基础入参校验 if x < 0 or y > z: raise ValueError("入参非法:数组长度不能为负,且取值下限不能大于上限") return [random.randint(y, z) for _ in range(x)]
如果需要生成浮点数,将random.randint(y, z)替换为random.uniform(y, z)即可
JavaScript 实现
function generateRandomArray(x, y, z) { // 基础入参校验 if (x < 0 || y > z) throw new Error("入参非法:数组长度不能为负,且取值下限不能大于上限"); // 生成[y,z]区间整数 const getRandomInt = (min, max) => Math.floor(Math.random() * (max - min + 1)) + min; return Array.from({length: x}, () => getRandomInt(y, z)); }
如果需要生成浮点数,将getRandomInt逻辑替换为Math.random() * (z - y) + y即可
Java 实现
import java.util.Random; public class RandomArrayGenerator { public static int[] generateRandomArray(int x, int y, int z) { if (x < 0 || y > z) { throw new IllegalArgumentException("入参非法:数组长度不能为负,且取值下限不能大于上限"); } Random random = new Random(); int[] arr = new int[x]; for (int i = 0; i < x; i++) { // 调整随机数范围到[y,z]闭区间 arr[i] = random.nextInt(z - y + 1) + y; } return arr; } }
通用注意事项
- 所有实现都添加了基础入参校验,避免运行时异常
- 上述示例默认随机数区间为闭区间
[y, z],若需要左闭右开不包含z,调整对应区间计算逻辑即可
内容的提问来源于stack exchange,提问作者RzdrIll
相关产品推荐
相关产品推荐

