數組這是我迄今爲止錯誤而洗牌在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