使用random得到某个范围内的随机数

一、取模操作
public static void main(String[] args)
{
for (int i = 1; i <= 20; i++)
{
int j = i % 11;
System.out.println(i + "%11的结果——" + j);
}
}
1%11的结果——1
2%11的结果——2
3%11的结果——3
4%11的结果——4
5%11的结果——5
6%11的结果——6
7%11的结果——7
8%11的结果——8
9%11的结果——9
10%11的结果——10
11%11的结果——0
12%11的结果——1
13%11的结果——2
14%11的结果——3
15%11的结果——4
16%11的结果——5
17%11的结果——6
18%11的结果——7
19%11的结果——8
20%11的结果——9

二、java.uitl.Random
random.nextInt(20),任意取[0,20]之间整数。

三、取某个范围的任意数
public static String getRandom(int min, int max)
{
Random random = new Random();
int s = random.nextInt(max) % (max - min + 1) + min;
return String.valueOf(s);

}

### Matlab生成指定范围内随机数的方法 在Matlab中,可以通过多种方法生成指定范围内随机数。以下是几种常用的方式及其具体实现: #### 方法一:基于`rand`函数生成均匀分布的随机数 通过调整`rand`函数的结果,可以生成任意范围 `[lowerRange, upperRange]` 的均匀分布随机数。其核心公式如下: \[ \text{randomNumbers} = \text{lowerRange} + (\text{upperRange}-\text{lowerRange}) \cdot \text{rand}(numElements, 1) \] 其中 `lowerRange` 和 `upperRange` 是目标区间的上下限,而 `numElements` 表示要生成的随机数的数量。 代码示例如下: ```matlab lowerRange = 0; % 下界 upperRange = 10; % 上界 numElements = 5; % 随机数数量 randomNumbers = lowerRange + (upperRange - lowerRange) .* rand(numElements, 1); disp(randomNumbers); ``` 这种方法适用于连续型随机变量,并能覆盖任何实数区间[^1]。 --- #### 方法二:利用`randi`生成整数随机数 如果需要生成特定范围内的 **整数** 型随机数,则可使用 `randi([imin, imax], m, n)` 函数。该函数会返回大小为 \(m \times n\) 的矩阵,矩阵中的元素均为介于 `imin` 到 `imax` 范围内随机整数。 示例代码如下: ```matlab imin = 1; % 整数下界 imax = 10; % 整数上界 numRows = 3; % 输出矩阵行数 numCols = 4; % 输出矩阵列数 integerRandoms = randi([imin, imax], numRows, numCols); disp(integerRandoms); ``` 此方式特别适合离散型随机变量的应用场景[^2]。 --- #### 方法三:针对多个不同区间随机数生成 当需求涉及多组不同的随机数区间时,可以根据每组的具体参数单独调用上述两种方法。例如对于给定的四个区间 `[30.9, 31]`, `[33, 34]`, `[48.5, 49.8]`, `[38.7, 39.8]`,可通过循环逐一处理各区间的数据生成过程。 下面是一个综合示例程序: ```matlab intervals = [... % 定义各个区间边界 30.9, 31; 33, 34; 48.5, 49.8; 38.7, 39.8]; numPerInterval = 5; % 每个区间生成的随机数数量 allRandoms = []; for i = 1:size(intervals, 1) lowerBound = intervals(i, 1); upperBound = intervals(i, 2); intervalRandoms = lowerBound + (upperBound - lowerBound) * rand(numPerInterval, 1); allRandoms = [allRandoms; intervalRandoms]; % 将结果拼接起来 end disp(allRandoms); ``` 这段脚本能够灵活应对复杂情况下的随机数生成任务[^3]。 --- ### 总结 以上介绍了三种主要技术路径来满足不同类型的需求——无论是单一固定范围还是多重独立子区域的情况都能妥善解决。使用者只需依据实际应用场景选取合适的算法即可达成目的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值