Giải thích giúp đoạn code về Random

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;
    }


}
//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?