Bonjour,
Je débute en java et je travail sur un travail pratique relatif à un jeu de Sudoku. L'énoncé relatif à la première partie de mon travail se trouve ci-dessous.

*****

Créer des classes
Le programme devra être développé autour de plusieurs classes soit :

tn4.java permettant de démarrer le programme. Cette classe aura une méthode main qui devra faire comme actions :
Créer une instance de la classe Sudoku9x9;
Imprimer la grille de Sudoku original;
Imprimer le degré de difficulté de la grille;
Effectuer 10 placements;
Imprimer la grille de Sudoku suite aux placements;
Annuler 2 placements;
Imprimer la grille de Sudoku suite à l’annulation;
Valider la solution et imprimer le résultat de la validation.
Sudoku.java, une classe abstraite représentant la notion abstraite de grille de Sudoku et des méthodes communes à tous les sous-types de grille de Sudoku. Elle aura donc comme attribut :
Une matrice de nombre entier (int[][]) représentant la grille de Sudoku
Une liste d’action de placement (Une ArrayList de classe Placement (voir plus bas))
Le degré de complexité de la grille (int)
L’attribut placement (int) indiquant le nombre de chiffre restant à placer dans la grille

****

Mon code est le suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
/*****************************************************************************/
/* Classe tn4 contenant la méthode "main"                                    */ 
/*****************************************************************************/
 
package travailNote4;
 
public class tn4 { 
 
  	public static void main(String[] args) { // Point d'entrée du programme
 
		int [][] tab1 =     { { 0,3,9,1,0,0,0,6,4 },  // Création d'un tableau multidimensionnel débutant
                            { 0,6,0,7,4,0,0,9,5 },
                            { 7,5,0,0,0,3,2,8,0 },
                            { 6,0,0,2,0,0,0,1,0 },
                            { 0,1,5,0,6,9,0,0,0 },
                            { 0,2,8,4,0,7,0,0,0 },
                            { 5,7,0,0,2,0,0,3,0 },
                            { 0,4,0,0,0,0,0,0,0 },
                            { 0,8,1,5,0,0,0,4,0 } };
 
		int [][] tab2 = 	{ { 0,0,0,0,0,0,0,0,0 },  // Création d'un tableau multidimensionnel intermédiaire
                            { 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 } };
 
        int [][] tab3 =     { { 0,0,0,0,0,0,0,0,0 },  // Création d'un tableau multidimensionnel expert
                            { 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 } };
 
    Sudoku9x9 jeu1 = new Sudoku9x9("Joueur1", 9, 10, 1);	// Instanciation de l'objet jeu1 dans la classe Sudoku9x9
 
 // Test méthodes - setGrille et getGrille
 
		jeu1.setGrille(tab1); // Écriture de l'attribut dans l'objet jeu1
 
		tab1 = jeu1.getGrille(); // Lecture de l'attribut de l'objet jeu1
 
		System.out.println("-- Retourne la grille de Sudoku originale --"); // Impression de la grille de Sudoku originale
 
		for (int i=0; i<jeu1.n; i++) {
 
			System.out.print("\t"); // Alignement des colonnes
 
			for (int j=0; j<jeu1.n; j++) {
 
				System.out.print(tab1[i][j] + " ");
 
			}
 
			System.out.println();
 
		}
 
// Test les méthodes - getComplexite
 
        jeu1.setComplexite(1);
 
		System.out.println();
		System.out.println("-- Retourne le niveau de difficulté --"); // Impression du niveau de difficulté de la grille
		System.out.println("\t" + jeu1.getComplexite());
		System.out.println();
 
 
// Test les méthodes - setTableaufinal et getTableaufinal
 
		jeu1.setTableaufinal(tab3);
 
		tab1 = jeu1.getTableaufinal();
 
		System.out.println("-- Retourne le tableau --");
 
		for (int i=0; i<jeu1.n; i++) {
 
			System.out.print("\t");
 
			for (int j=0; j<jeu1.n; j++) {
 
				System.out.print(tab1[i][j] + " ");
 
			}
 
			System.out.println();
 
		}
 
		System.out.println();
 
 
// Test la méthode - setGrille (unedonnee)
 
		jeu1.setGrille(1, 2, 9); // par exemple, valeur 9 à la deuxième ligne, troisième colonne
 
		tab1 = jeu1.getGrille();
 
		System.out.println("-- Retourne la grille (unedonnee) --");
 
		for (int i=0; i<jeu1.n; i++) {
 
			System.out.print("\t");
 
			for (int j=0; j<jeu1.n; j++) {
 
				System.out.print(tab1[i][j] + " ");
 
			}
 
			System.out.println();
 
		}
 
		System.out.println();
 
 
// Test les méthodes - setN et getN
 
		jeu1.setN(9); // Écriture de l'attribut 9 dans l'objet jeu1
 
		System.out.println("-- Retourne la dimension --");
		System.out.println("\t" + jeu1.getN());
		System.out.println();
 
 
// Test les méthodes - setPlacements et getPlacements
 
		jeu1.setPlacements(9);
 
		System.out.println("-- Définit les placements --");
		System.out.println("\t" + jeu1.getPlacements());	
		System.out.println();
 
			}
 
		}
Ma question est la suivante :

>> Où dois-je mettre mes méthodes pour créer et annuler les placements? Mon impression est que ces méthodes ne doivent pas figurer dans ma classe main mais plutôt des la classe abstraite qui ne sera pas instance?

Je me trompe?

Merci infiniment pour votre aide.

Salutations