private void scramble() {
int index;
String temp;
Random random = new Random();
for (int i = tileList.length - 1; i > 0; i--) {
index = random.nextInt(i + 1);
temp = tileList[index];
tileList[index] = tileList[i];
tileList[i] = temp;
}
}
Giải thích giúp đoạn code về Random
//Hàm trộn mảng
private void scramble() {
int index;
String temp;
Random random = new Random();
for (int i = tileList.length - 1; i > 0; i--) {
index = random.nextInt(i + 1); //Sinh 1 số ngẫu nhiên trong khoảng i->0
temp = tileList[index]; // đảo gía trị 2 vị trí i và index
tileList[index] = tileList[i];
tileList[i] = temp;
}
}
2 Likes
mình thắc mắc là làm sao các giá trị của các số ngẫu nhiên từ i -> 0 không trùng nhau
Vì nó đổi vị trị trong tileList rồi nếu trùng thì nó cũng đã có xáo trộn trc đó
2 Likes
à =]] đa tạ
<----------------------------->
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?