方法一: 用List集合实现36选7摇号
步骤如下:
(1)创建产生随机数的对象
(2)创建一个存储随机数的List集合。
(3)定义一个统计变量。从0开始。
(4)判断统计遍历是否小于7
是:先产生一个随机数,判断该随机数在集合中是否存在。
如果不存在:就添加,统计变量++。
如果存在:就不搭理它。
否:循环结束
(5)遍历集合。
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class Select_7_From_36 {
public static void main(String[] args) {
// 创建产生随机数的对象
Random r = new Random();
// 创建一个存储随机数的集合
List<Integer> numbers = new ArrayList<Integer>();
// 定义一个统计变量。从0开始。
int count = 0;
// 判断统计遍历是否小于7
while (count < 7) {
// 先产生一个随机数,判断该随机数在集合中是否存在
int number = r.nextInt(36) + 1; //0~35+1=1~36
// 如果不存在:就添加,统计变量++。
if (!numbers.contains(number)) {
numbers.add(number);
count++;
}
}
// for (Integer i : numbers) {
// System.out.print(i+"\t");
// }
System.out.println("36选7摇号如下:");
numbers.forEach(i -> System.out.print(i + "\t"));
}
}
方法二 用Set集合实现36选7摇号
步骤如下:
(1)创建随机数对象
(2)创建一个HashSet集合
(3)判断集合的长度是不是小于7
是:就创建一个随机数添加
否:不搭理它
(4)遍历HashSet集合
import java.util.HashSet;
import java.util.TreeSet;
public class Set_Select_7_From_36 {
public static void main(String[] args) {
HashSet<Integer> hs = new HashSet<>();
while (hs.size() < 7) {
int number = (int) (Math.random() * 36) + 1;
hs.add(number);
}
System.out.println("36选7摇号如下:");
hs.forEach(s -> System.out.print(s + "\t"));
}
}