Java 通过确保没有’,在1-49范围内生成5组6个随机数;每套没有重复的吗?
我正在制作一个程序,将生成5组6个随机数字用于彩票,但在打印这些数字时,它们包含重复的数字。我怎样才能使每个集合中的每个数字都是唯一的?(注意每套应按从最低到最高的升序排列)Java 通过确保没有’,在1-49范围内生成5组6个随机数;每套没有重复的吗?,java,arrays,random,Java,Arrays,Random,我正在制作一个程序,将生成5组6个随机数字用于彩票,但在打印这些数字时,它们包含重复的数字。我怎样才能使每个集合中的每个数字都是唯一的?(注意每套应按从最低到最高的升序排列) 导入java.util.array; 公共类任务测试{ 公共静态void main(字符串[]args){ System.out.println(“您的彩票号码是:”); 对于(int i=1;i,可以使用集合: Set<Integer> allNumbers = new HashSet<>();
导入java.util.array;
公共类任务测试{
公共静态void main(字符串[]args){
System.out.println(“您的彩票号码是:”);
对于(int i=1;i,可以使用集合:
Set<Integer> allNumbers = new HashSet<>();
for (int i = 1; i < 6; i++)
{
Set<Integer> set = new HashSet<>();
while (set.size() < 6)
{
int random = (int) (Math.random() * 49 + 1);
if (allNumbers.add(random))
{
set.add(random);
}
}
Integer[] array = set.toArray(new Integer[] {});
Arrays.sort(array);
System.out.println(Arrays.toString(array));
}
Set allNumbers=new HashSet();
对于(int i=1;i<6;i++)
{
Set=newhashset();
while(set.size()<6)
{
int random=(int)(Math.random()*49+1);
如果(所有数字相加(随机))
{
集合。添加(随机);
}
}
整数[]数组=set.toArray(新整数[]{});
数组。排序(数组);
System.out.println(array.toString(array));
}
您可以使用集合:
Set<Integer> allNumbers = new HashSet<>();
for (int i = 1; i < 6; i++)
{
Set<Integer> set = new HashSet<>();
while (set.size() < 6)
{
int random = (int) (Math.random() * 49 + 1);
if (allNumbers.add(random))
{
set.add(random);
}
}
Integer[] array = set.toArray(new Integer[] {});
Arrays.sort(array);
System.out.println(Arrays.toString(array));
}
Set allNumbers=new HashSet();
对于(int i=1;i<6;i++)
{
Set=newhashset();
while(set.size()<6)
{
int random=(int)(Math.random()*49+1);
如果(所有数字相加(随机))
{
集合。添加(随机);
}
}
整数[]数组=set.toArray(新整数[]{});
数组。排序(数组);
System.out.println(array.toString(array));
}
创建一个编号为1-49的ArrayList
。创建一个编号为1-49的Collections.shuffle()
。以6人一组重复创建5个唯一的集合,保证没有重叠。对每个集合单独排序。完成。创建一个编号为1-49的ArrayList
。创建一个编号为1-49的Collections.shuffle()的ArrayList
。以6人一组的方式迭代创建5个唯一的集合,确保没有重叠。对每个集合进行单独排序。完成。答案在您的问题中。使用集合s.49数字并取前6个。这可防止出现重复的数字。答案在您的问题中。使用集合s.49数字d取前6个。这样可以防止出现重复的数字。