Wie Generiere ich 6 zufällige zahlen zwischen 1 und 6, die mit Java?

Bin ich der Begegnung mit einem problem zu generieren 6 zufällige zahlen zwischen 1 und 6 in Java. Alle Nummern müssen eindeutig sein. Wenn ich enter kolon-Wert 5, den arrays sollte wie folgt sein:

1 2 3 4 5 6
1 2 3 4 5 6
1 2 3 4 5 6
1 2 3 4 5 6

Ich möchte nicht, das Programm zu erzeugen, die zwei gleiche zahlen. Was ist hier falsch?

Relevante code:

public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    System.out.println("Please enter row quantity: ");

    int kolon = input.nextInt();

    Integer[][] dizi_asil = new Integer[kolon][6];

    for (int i = 0; i < kolon; i++) {
        Integer[] dizi = new Integer[6];

        for (int j = 0; j < 6; j++) { 

            dizi[j] = (int) ((Math.random() * 6) + 1);  

            for (int u = 0; u < 1; u++) { 

                for (int k = 0; k < j; k++) { 

                    while (dizi[k] == dizi[j]) { 
                        dizi[j] = (int) ((Math.random()* 6)  + 1);
                        u++;
                    }

                }
            }
            dizi_asil[i][j] = dizi[j];
        }
        Arrays.sort(dizi_asil[i]);
    }

    for (int i = 0; i < dizi_asil.length; i++) {
        for (int k = 0; k < dizi_asil[i].length; k++) {
            System.out.print(dizi_asil[i][k] + "\t");
        }
        System.out.println();
    }
6 verschiedene zahlen zwischen 1 und 6 sind nicht zufällig. Sie werden immer 1,2,3,4,5,6. Ihre Reihenfolge kann zufällig sein, aber nicht die zahlen.
Warum 4 Zeilen, wenn kolon=5 in deinem Beispiel ?
Auch Sie fordern Arrays.sort(dizi_asil[i]);. Also warum erwarten Sie, dass Sie Ihre arrays nicht sortiert werden???
zum Beispiel : wenn ich Programm ausführen , einige Male im immer 1 2 4 5 6 6 . es ist falsch, ich muss immer 1 2 3 4 5 6
Sie sind nicht auf der Suche zu generieren 6 zufällige zahlen, sondern eine zufällige permutation für die zahlen 1 bis 6. Versuchen Collection.shuffle wie andere haben darauf hingewiesen, in Ihren Antworten.

InformationsquelleAutor Ertuğrul Çetin | 2013-04-23

Schreibe einen Kommentar