我有一款游戏,可以根据订单在屏幕上显示图案。我不希望这个订单对1 2 3 4 5 6
这样的订单非常严格。我希望订单更随机。所以我正在尝试创建一个从1-6
生成随机顺序的方法。我试图创建一个方法,但我失败了。任何人都可以帮我解决这个问题。
P.S。这是在java btw。
public static Random rand = new Random();
public static int[] array = new int[]{0,0,0,0,0,0};
public static void main(String[] args)
{
for(int i =0;i<6;i++)
{
for (int a =0;a<6;a++)
{
array[i] = rand.nextInt(6)+1;
while(array[i] == array[a])
{
array[i] = rand.nextInt(6)+1;
}
}
}
}
答案 0 :(得分:3)
Collections.shuffle()
示例代码:
final List<Integer> list16 = Lists.newArrayList(1,2,3,4,5,6); // guava Lists
Collections.shuffle(list16);
// use list16
或没有番石榴:
final List<Integer> list16 = new ArrayList<Integer>();
for (int i = 1; i < 7; i++) {
list16.add(i);
}
Collections.shuffle(list16);
// use list16
答案 1 :(得分:0)
//your no.array say a[6]={0,0,0,0,0,0}
boolean flag=true;
int temp=0;
for(int i=0;i<6;i++)
{
while(flag==true)
{
temp=rand.nextInt(6);
if(a[temp]==0)
{
array[i] = temp+1;
a[temp]=1;
flag=false;
}
}
flag=true;
}
答案 2 :(得分:0)
int num = 6;
ArrayList<Integer> randomList = new ArrayList<Integer>();
Random rand = new Random();
for (int i = 0; i < 6; i++) {
randomList.add(rand.nextInt(6));
}
for (int i = 0; i < randomList.size(); i++) {
System.out.println("numbers "+randomList.get(i));
}