数组这是我迄今为止错误而洗牌在Java中
int[] question = new int[25];
for (int i = 0; i < question.length; i++){
question[i] = i+1;
}
Random rand = new Random();
int max = question.length-1, min = 1;
for(int i = 0; i < question.length; i++){
int idx = rand.nextInt((max - min) + 1) + min;
randg[i] = idx;
question[i] ^= question[idx];
question[idx] ^= question[i];
question[i] ^= question[idx];
if(question[i] == 0){
System.out.println("Something went wrong!" + i + " " + idx);
}
}
所以,问题似乎是当兰特值(IDX)等于我,为交换......它只是用0替换该值。
如何解决该问题?
如果无法到告诉错误的影响是什么,然后很难提供帮助。 – AlexWien 2014-12-01 20:40:05
我知道问题是什么......我只是不知道如何解决它。 – 2014-12-01 20:40:23
问题是,它交换的idx值等于i值。它将该值设置为零。 – 2014-12-01 20:41:08