Cet article décrit le problème de Sudoku mis en œuvre par Java sur la base de tableaux bidimensionnels. Partagez-le pour votre référence, comme suit:
Ici, nous utilisons des tableaux bidimensionnels Java pour implémenter le problème de Sudoku.
(1) Générer un Sudoku simple (2) Générer un problème de Sudoku **
Code
Importer java.util.random; import java.util.arraylist; classe publique Suduku {/ ** * imprimer un tableau bidimensionnel, Sudoku Matrix * / public static void PrintArray (int a [] []) {for (int i = 0; i <9; i ++) {for (int j = 0; j <9; j ++) {System.out.Trint (". + a [i] [J]); statique ArrayList <Integer> création } RandomNum = Random.Nextint (9) +1;}} System.out.println ("Le tableau unique de bits est:"); } System.out.println (); Liste de retour; } / ** * Générez une matrice Sudoku aléatoire via un tableau unidimensionnel et le tableau d'origine * * Transférer les données dans le tableau bidimensionnel, trouver la position de la valeur actuelle dans le tableau de position unidimensionnel et attribuer le tableau unidimensionnel * la position actuelle plus une valeur de position au tableau bidimensionnel actuel. Le but est d'utiliser un tableau unidimensionnel comme base, et d'échanger ces 9 données dans un ordre aléatoire pour générer une matrice Sudoku aléatoire. 11 SeedArray [i] [j] = randomlist.get ((k + 1)% 9); casser; }}}} System.out.println ("Array traité"); Suduku.printArray (SeedArray); } public static void CreateSudokuQUestion (int [] [] a) {random rand = new random (); for (int i = 0; i <9; i ++) {for (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},, {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,1 {5,6,4,8,9,7,2,3,1}}; System.out.println ("Array 2D original:"); Suduku.printArray (SeedArray); ArrayList <Integer> randomlist = suduku.creatNinerondomArray (); Suduku.CreatSudokuArray (Seedarray, Randomlist); System.out.println ("Générer un problème Sudoku:"); Suduku.CreatSudokuquestion (SeedArray); }}Sortir:
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 4 1 5 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 0 6 0 9 2 0 0 5 7 0 2 0 0 6 0 9 2 0 0 5 7 0 2 0 0 5 7 0 2 0 0 6 0 9 2 0 0 5 7 0 2 0 0 5 7 0 2 0 0 6 0 9 2 0 0 5 7 0 2 0 0 5 7 0 2 0 0 6 0 0 5 7 0 2 0 0 6 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 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
Pour plus d'informations sur les algorithmes Java, les lecteurs qui sont intéressés par ce site peuvent afficher les sujets: "Structure de données Java et didacticiel d'algorithme", "Résumé des conseils de nœud Java Operation Dom", "Résumé du fichier Java et des conseils d'opération de répertoire" et "Résumé des conseils d'opération Java Cache"
J'espère que cet article sera utile à la programmation Java de tous.