01/10/2018, 12:17

Ai giải thích giúp mình đoạn code này vơi

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


    }
PhungHV viết 14:31 ngày 01/10/2018
//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;
    }
}
cáo thật thà viết 14:23 ngày 01/10/2018

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

INfo viết 14:20 ngày 01/10/2018

Vì nó đổi vị trị trong tileList rồi nếu trùng thì nó cũng đã có xáo trộn trc đó

cáo thật thà viết 14:22 ngày 01/10/2018

Vì nó đổi vị trị trong tileList rồi nếu trùng thì nó cũng đã có xáo trộn trc

à =]] đa tạ
<----------------------------->

Bài liên quan
0