Java写一个随机函数,随机读取ArrayList<Double> list = new ArrayList<>(); // 往列表中添加十个数 for (int i = 0; i <= 10; i++) { list.add(i * 0.01); }这个list中的值,但读到list中第一个数的概率要比其它的高
时间: 2024-01-27 08:02:51 浏览: 32
可以使用Java中的`Random`类来实现随机函数,并对读取列表中第一个数的概率进行加权。具体实现代码如下:
```java
import java.util.ArrayList;
import java.util.Random;
public class Main {
public static void main(String[] args) {
// 建立一个列表
ArrayList<Double> list = new ArrayList<>();
// 往列表中添加十个数
for (int i = 0; i <= 10; i++) {
list.add(i * 0.01);
}
// 定义随机数生成器
Random random = new Random();
// 读取列表中的一个数
Double num;
if (random.nextInt(10) == 0) { // 读取第一个数的概率为10%
num = list.get(0);
} else { // 读取其它数的概率为90%
num = list.get(random.nextInt(list.size() - 1) + 1);
}
// 输出读取到的数
System.out.println(num);
}
}
```
其中,`Random`类可以生成伪随机数,通过`nextInt`方法可以生成指定范围内的随机整数。在上述代码中,我们定义了一个随机数生成器,并根据随机数的值来决定读取列表中的哪个数。其中,读取第一个数的概率为10%,读取其它数的概率为90%。最后,输出读取到的数。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)