知识点:
new Random() . next( 33): 产生一个 0-33 (含0不含33) 的随机数
所以+1之后 , 就变成了 1-34( 1 - 33);
HashSet集合:存储不重复的元素.
add( E element) 往集合中添加指定元素.
增强for循环:因为不能使用索引,所以用增强for循环.
/*双色球规则:双色球每注投注号码由6个红色球号码和1个蓝色球号码组成。红色球号码从1—33中选择;蓝色球号码从1—16中选择;请随机生成一注双色球号码。(要求同色号码不重复)*/
public class Test12_HashSet_$ {public static void main(String[] args) {// 创建一个集合 -- HashSet(元素不重复)HashSet<Integer> set = new HashSet<>();// 红色6个号码 .// 创建一个Random随机数 .Random r = new Random();/* 方法二:for (int i = 0; i < 6; i++) {int s1 = r1.nextInt(33)+1;if(!set.contains(s1)){set.add(s1);}else { i -- ; // 如果重复了, 就重新执行当前i .}}*/// 方法一:// 因为是HashSet集合,不能存重复元素,// 所以当集合长度 = 5 && 元素不重复 的时候 , 就可以了.while (set.size() < 6){int redBall = r.nextInt(33) + 1;set.add(redBall);}System.out.println("双色球中奖号码为:");System.out.print("红球是:");// 使用增强for循环遍历输出.for (Integer i : set) {System.out.print(i+" ");}// 蓝色球int blueBall = r.nextInt(16) + 1;System.out.println();System.out.println("蓝球是:"+blueBall);}
}
运行结果如下: