【发布时间】:2014-04-06 19:53:43
【问题描述】:
public class startOrder {
public static void main(String[] args) {
int[] start = new int[45];
for(int i=0;i<start.length;i++)
{
start[i] = (int)(Math.random()*45);
}
for(int i=0;i<start.length;i++)
{
System.out.println(start[i]);
}
}
}
我想制作一个简单的程序,只打印 1-45 之间的所有随机数。问题是它们之间有重复的数字,我怎样才能让它打印 1-45 之间的数字而没有任何重复。这是一个生成随机起始数字的程序。
【问题讨论】:
-
只需将每个已生成的数字添加到数组/列表中,并与
contains()检查该数字是否已生成一次 - 然后跳过它。注意:如果您想生成从 1 到 40 的随机数,而边界从 1 到 41,这可能会导致性能不佳。
标签: java