Try this.
- Generate a List of the numbers from 1 to 34. (or whatever your range is).
List<Integer> list = new ArrayList<>();
for (int i = 1; i <= 34; i++) {
list.add(i);
}
- then call Collections.shuffle() on the list.
Collections.shuffle(list);
- then just take the first 6 (or however many) numbers. They will be random and unique.
for (int i = 0; i < 6; i++) {
System.out.println(list.get(i));
}
EDIT
You can pass the starting and ending numbers or leave them out and hard code them in the method.
public static List<Integer> lottery(int start, int end) {
List<Integer> nums = new ArrayList<>();
for (int i = start; i <= end; i++) {
nums.add(i);
}
Collections.shuffle(nums);
return nums;
}
// e.g.
List<Integer> vals = lottery(1,34);
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…