今天在学习的过程中,遇到别人提出有关随机数的生成问题时,随机动手解决了,做一个简单的笔记加深下记忆。
- 程序如下:
- 方式1 使用Random类直接生成需要的 7 个整数(双色球),然后根据条件选择(排除重复)
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
@SuppressWarnings({ "rawtypes", "unchecked" })
public class test {
public static void main(String[] args) {
List lit = new ArrayList();
int count = 0;
Random ran = new Random();
while (true) {
int temp = ran.nextInt(33) + 1;
if (!lit.toString().contains(String.valueOf(temp))) {
count++;
lit.add(temp);
}
if (count != 7) {
continue;
} else {
break;
}
}
for (int i = 0; i < 7; i++) {
System.out.print(lit.get(i) + " ");
}
}
}
- 方式2 使用Math类实现,需要加强转,,,有兴趣的可以尝试一下
注意事项
Random 类实现的算法使用一个 protected 实用工具方法,每次调用它最多可提供 32 个伪随机生成的位。
很多应用程序会发现 Math.random() 方法更易于使用
不过需要注意的是:Math.random()返回的是double类型,需要根据自己的需要强转一下
- 先总结这些吧,有新的发现再更,,,