Dieser Artikel beschreibt das von Java implementierte Sudoku-Problem basierend auf zweidimensionalen Arrays. Teilen Sie es für Ihre Referenz wie folgt weiter:
Hier verwenden wir zweidimensionale Java-Arrays, um das Sudoku-Problem zu implementieren.
(1) einfache Sudoku (2) generieren Sudoku -Problem **
Code
Import Java.util.random; Import Java.util.ArrayList; öffentliche Klasse Suduku { / ***Drucken zweidimensionaler Array, Sudoku Matrix* / public static void printArray (int a [] []) {für (int i = 0; i <9; +[i] [j]); statische Arraylist <GealNeger> CreatnineronDoMarray () {ArrayList <Neger> List = New ArrayList <Gearner> (); } randomNum = random.Nextint (9) +1; } System.out.println (); Rückgabeliste; } /*** Generieren Sie eine zufällige Sudoku-Matrix durch eindimensionales Array und das ursprüngliche Array** Übertragen Sie die Daten im zweidimensionalen Array, finden Sie die Position des aktuellen Wertes im eindimensionalen Array und weisen Sie das eindimensionale Array zu. Ziel ist es, ein eindimensionales Array als Grundlage zu verwenden und diese 9 Daten in einer zufälligen Reihenfolge auszutauschen, um eine zufällige Sudoku-Matrix zu generieren. * */ public static void creatSudokuarray (int [] [] Seedarray, ArrayList <Integer> Randomlist) {für (int i = 0; i <9; i ++) {für (int j = 0; j <9; j ++) {für (int k = 0; k <9; k ++) {if (samens (samen) {if (samen) {if (samen) {if (samen) {if (ifarray [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [[ Seedarray [i] [j] = randomlist.get ((k+1)%9); brechen; }}}} System.out.println ("verarbeitetes Array"); Suduku.printarray (Seedarray); } public static void creatSudokuquestion (int [] [] a) {random rand = new random (); für (int i = 0; i <9; i ++) {für (int j = 0; j <4; j ++) {a [i] [(int) rand.nextint (9)] = 0; }} Suduku.printarray (a); } // public static void main(String[] args) { int seedArray[][]={ {9,7,8,3,1,2,6,4,5}, {3,1,2,6,4,5,9,7,8}, {6,4,5,9,7,8,3,1,2}, {7,8,9,1,2,3,4,5,6,7,8,9}, {1,2,3,4,5,6,7,8,9}, {4,5,6,7,8,9,1,2,3}, {8,9,7,2,3,1,5,6,4}, {2,3,1,5,6,4,8,9,7}, {5,6,4,8,9,7,2,3,1}}; System.out.println ("Original 2D -Array:"); Suduku.printarray (Seedarray); ArrayList <Gearner> randomList = suduku.creatnineronDomarray (); Suduku.creatsudokuarray (Seedarray, RandomList); System.out.println ("Sudoku -Problem generieren:"); Suduku.Creatsudokuquestion (Seedarray); }}Ausgabe:
9 8 3 1 2 4 5 6 4 8 9 7 5 6 4 8 9 7 2 3 1 5 6 4 8 9 7 2 3 1 5 6 4 8 9 7 5 6 4 8 9 7 2 3 1 5 6 4 8 9 7 5 6 4 8 9 7 2 3 1 5 6 4 8 9 7 2 3 1 5 6 4 8 9 7 5 6 4 8 9 7 2 3 1 5 7 8 2 4 1 5 7 8 2 4 1 5 7 8 2 4 1 5 7 8 2 4 1 5 7 9 6 3 0 0 0 0 0 0 5 7 0 2 4 1 0 7 9 6 0 5 0 1 6 0 9 2 0 0 6 0 9 2 0 0 5 7 0 2 0 6 0 9 2 0 0 5 7 0 2 0 6 0 9 2 0 0 5 7 0 0 0 5 7 0 2 0 0 6 0 0 0 0 0 0 0 0 5 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 9 2 0 0 5 7 0 2 0 0 5 7 0 2 0 0 6 0 0 6 0 9 2 0 0 5 7 0 2 0 0 5 7 0 2 0 0 6 0 0 6 0 9 2 0 0 5 7 0 2 0 0 5 7 0 2 0 0 6 0 0 6 0 9 2 0 0 5 7 0 2 0 0 5 7 0 2 0 0 5 7 0 2 0 0 6 0 7 0 2 0 0 5 7 0 2 0 0 6 0 7 0 2 0 0 5 7 0 2 0 0 6 0 7 0 2 0 0 5 7 0 2 0 8 2 3 0 6 4 8 2 7 0 5 4 8 2 7 0 0 3 9 6
Für weitere Informationen zu Java -Algorithmen können Leser, die an dieser Website interessiert sind, die Themen "Java -Datenstruktur und Algorithmus -Tutorial", "Zusammenfassung der Java -Operation DOM -Knoten -Tipps", "Zusammenfassung der Java -Datei- und Verzeichnisoperationstipps" und "Zusammenfassung der Java -Cache -Operation Tipps" anzeigen
Ich hoffe, dieser Artikel wird für Java -Programme aller hilfreich sein.