Ah d'accord, bon je vais modifier tout ça.
Ah d'accord, bon je vais modifier tout ça.
Pour être sur quand on importe un méthode on fait bien :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Grille grille = new Grille(); grille.estSurLigne(valeur, ligne);
Tu veux dire "quand on appelle une méthode" ? La première ligne : déclaration d'une variable de type Grille et initialisation avec une nouvelle instance de Grille. Seconde ligne, appel (ou invocation) d'une méthode de la classe Grille sur l'instance pointée par grille, avec les variables valeur et ligne en paramètres.
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Je ne comprends ce que tu veux dire : quelle limite de caractères ?
Bah, là, qu'est-ce que tu veux que je te dise sur 3 lignes de code qui se baladent ? Mais à priori, je m'attenderais au moins à ce que les 2 variables soient lues au clavier entre le message "Veuillez choisir une valeur et une ligne" (d'ailleurs, ce serait probablement plus simple, de le faire en 2 fois : on demande la ligne, puis la valeur), et l'utilisation des variables.
Ensuite, on devrait au moins récupérer le résultat de la méthode pour le tester, à priori.
Maintenant à dire si elle fonctionne avec 8 et 5 : le plus simple est encore de tester. Normalement, on a finalisé cette méthode dans je ne sais plus quel post la méthode, et elle était censé fonctionner à ce moment.
Et puis, je m'étonne de voir le new Grille() juste avant les 2 autres lignes : tu créés bien qu'une seule instance de Grille qui est utilisée tout au court d'une même partie, n'est-ce-pas ?
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
En fait j'avais mal formulé ma question.
Oublie les deux messages précédents je m'embrouille tout seul.
Ce que j'ai du mal à comprendre c'est comment faire pour affecter les différentes valeur de la classe Grille dans la classe test.
Si je met Grille grille = new Grille(); au début de ma classe, et qu' ensuite dans mon code je demande à l'utilisateur de taper le numéro de la ligne.
Après avec le scanner j'enregistre ce numéro comme _ligne et finalement je veux vérifier avec la méthode concerné si une valeur existe sur la ligne en question.
Je n'ai qu'a mettre grille.estSurLigne(_valeur, _ligne); ce _ligne correspond bien à celui scanné précédemment?
Pourtant, c'est exactement pareil que pour lire les int dans le fichier : avec Scanner et nextInt(), sauf que là, le scanner, il est créé à partie de l'entrée standard : Scanner clavier = new Scanner(System.int).
là c'est le "code" que tu m'as présenté ce matin : c'est l'idée, sauf que là tu ligne une chaîne de caractères que tu compares à un int, ce qui une absurdité.
Donc, tu affiches une question (la ligne), tu lis la réponse (dans une variable), tu affiches la question suivante (la colonne), tu lis la réponse (dans une autre variable), etc...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 System.out.print(" Entrez votre choix : "); afficheur2 = sudoku.nextLine(); if (afficheur2 == 2) {
Quand tout est saisi, tu dois vérfier que la valeur jouée n'est pas déjà dans la ligne ou la colonne (règle du sudoku) - ce qui revient à appeler la méthode estSurLaLigne, puis estSurLaColonne, et si c'est le cas, tu affiches "erreur..." et tu reposes la question (boucle).
C'est du hypra basique : si tu ne peux même pas écrire ça tout seul, je ne sais pas pourquoi tu persistes à chercher à valider je ne sais quoi comme formation. Elle n'est de toute manière pas validée dans les faits. Je pense qu'il faut te résigner. Surtout si tu dois le rendre ce soir...
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Non c'est bon en fait c'est ce que j'avais compris juste je voulais en être sur.
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Tu as raison j'aurais du tester au lieu de te déranger pour une question comme ça, excuse-moi.
J'ai donc procédé aux modifications sur la classe test.
Je comprend pas pourquoi eclipse me dit qu'il ne peut pas convertir un int en string pour _ligne = sudoku.nextLine(); .
voici le code
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 public void jouerSudoku() { int[][] tab2 = new int[9][9]; int condition_ligne = 0; while (condition_ligne == 0) { System.out.print(" Veuillez choisir une ligne:"); _ligne = sudoku.nextLine(); if (Integer.parseInt(_ligne) > tab2.length) { System.out .println("Vous devez inserez un nombre compris entre 1 et 9"); condition_ligne = 0; } else if (Integer.parseInt(_ligne) < tab2.length) { System.out .println("Vous devez inserez un nombre compris entre 1 et 9"); condition_ligne = 0; } else { condition_ligne = 1; } } int condition_colonne = 0; while (condition_colonne == 0) { System.out.print(" Veuillez choisir une colonne:"); _colonne = sudoku.nextLine(); if (Integer.parseInt(_colonne) > tab2.length) { System.out .println("Vous devez inserez un nombre compris entre 1 et 9"); condition_colonne = 0; } else if (Integer.parseInt(_colonne) < tab2.length) { System.out .println("Vous devez inserez un nombre compris entre 1 et 9"); condition_colonne = 0; } else { condition_colonne = 1; } } int condition_valeur = 0; while (condition_valeur == 0) { System.out.print(" Veuillez choisir une valeur:"); _valeur = sudoku.nextLine(); if (Integer.parseInt(_valeur) > tab2.length) { System.out .println("Vous devez inserez un nombre compris entre 1 et 9"); condition_valeur = 0; } else if (Integer.parseInt(_valeur) < tab2.length) { System.out .println("Vous devez inserez un nombre compris entre 1 et 9"); condition_valeur = 0; } else { condition_valeur = 1; } } grille.estSurLigne(_valeur, _ligne); grille.estSurColonne(_valeur, _colonne); grille.estDansLeBloc(_valeur,_ligne,_colonne); } }
Bon suite à de nombreuses corrections vu le nombre de fautes que j'avais laissé, pas étonnant que je n'y comprenait rien.
Il ne me reste qu'une erreur, que je ne comprend pas.
Eclipse me souligne : Grille grille = new Grille();
et il me dit: The constructor Grille() is undefined
Pourquoi?
Bonjour,
Je me permet de m'incruster rapidement dans cette discussion qui me rappel beaucoup certaines formations que j'ai pu donner .
En fait tu a défini la classe Grille avec un constructeur avec une liste d'entiers a1, donc il faut passer a1 dans le new Grille(...). Maintenant, la difficulté est de savoir à quoi correspond a1
Bonne soirée.
Bonjour, donc il me suffit de faire Grille grille = new Grille(al).
Merci.
Oui. Ce n'est pas clairement indiqué dans le sujet, mais je pense qu'il faut que la méthode de chargement ne charge pas les données dans un tableau mais dans une ArrayList. Ensuite, tu pourras initialiser la grille avec cette ArrayList.
Du coup, le format du fichier n'est pas très pratique pour charger une ArrayList. Il est plutôt adapté au chargement dans un tableau (vu qu'on a un triplet avec des coordonnées (d'ailleurs il est plutôt adapté à la sauvegarde d'un tableau). On a pourtant une méthode qui permet de charger dans une ArrayList une méthode pour affecter un tableau dans l'arraylist (question 2.3). Mais elle est dans Grille, alors que chargerJeu est dans Test. Il y a manque manifeste de logique dans le sujet : on des fonctions de sauvegarde/chargement orienté tableau, et des méthodes d'initialisation/sauvegarde de Grille orientées ArrayList !
Une solution pour s'en sortir serait de duppliquer les méthodes dans Grille, ce qui n'est pas pour moi une solution. L'autre solution serait de mettre les méthodes de sauvegarde et chargement fichier dans Grille, et de lui ajouter un constructeur avec le nom du fichier en paramètre, ce qui permettrait de créer une Grille à partir d'un fichier.
Une autre solution est d'ajouter un constructeur sans argument à Grille, et d'utiliser sa méthode setTableau(int[][]) (question 1.2) pour charger (et int[][] getTableau() pour sauvegarder). Ce qui rend complètement inutile les méthodes faites au 2.1 et 2.2.
Par contre je m'apperçois en relisant le sujet, qu'on s'est un peu trompé dans l'interprétation des questions 3.2 et 3.3 : les valeurs des triplets x y et z ne sont pas séparées par des espaces, mais seulement les triplets. Ça ne change pas grand chose pour la méthode de sauvegarde :
Par contre ça change pas mal le chargement. Soit on charge les valeurs en int :
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 public void savePartie(int[][] tab1, String cheminDuFichier) throws IOException { try (BufferedWriter writer = new BufferedWriter(new FileWriter( new File(cheminDuFichier)))) { // ici tu fais une double boucle sur le tableau et tu l'écris for (int i = 0; i < tab1.length; i++) { for (int j = 0; j < tab1[i].length; j++) { if (tab1[i][j] != 0) { writer.write(String.valueOf(i)); writer.write(String.valueOf(j)); writer.write(String.valueOf(tab1[i][j])); writer.write(" "); } } } } }
Ce qui n'est pas terrible comme solution (pleins de calculs)
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 public void chargerJeu(String cheminDuFicher) throws IOException { int[][] tab1 = new int[9][9]; try (Scanner scanner = new Scanner(new File(cheminDuFicher))) { while (scanner.hasNextInt()) { int triplet = scanner.nextInt(); // chargement d'un triple xyz int x = triplet/100; // x est le chiffre des centaines int y = (triplet-x*100)/10; // y est le chiffre des dizaines int z = triplet%10; // z est le chiffre de l'unité tab1[x][y] = z; } return tab1; } }
Soit on charge en String (mieux à mon avis) :
Ça ne change rien à notre problème de chargement/sauvegarde tableau versus ArrayList.
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 public void chargerJeu(String cheminDuFicher) throws IOException { int[][] tab1 = new int[9][9]; try (Scanner scanner = new Scanner(new File(cheminDuFicher))) { while (scanner.hasNext()) { String triplet = scanner.next(); // chargement d'un triple xyz int x = Integer.parseInt(triplet.substring(0,1); // x est le chiffre des centaines int y = Integer.parseInt(triplet.substring(1,2); // y est le chiffre des dizaines int z = Integer.parseInt(triplet.substring(2,3); // z est le chiffre de l'unité tab1[x][y] = z; } return tab1; } }
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
je sais pas pourquoi j'ai eu un bug de windows, je suis en train de faire une restauration système, heureusement j'ai tout sauvegardé sur mon HD externe.
Mis à part ça, je vais corriger l'histoire de l'espace tout les trois triplets, j'avais pas du tout remarqué.
J'ai fait quelques recherches et apparemment il y a plusieurs étudiants qui se sont pleints à propos de ce cours, ce n'est pas la première fois ou je me retrouve avec une consigne mal formulée ou illogique.
Selon la consigne je dois faire un certain nombre de méthodes dans la classe Grille, ça c'est fait, mais je pense avoir le droit de rajouter d'autres éléments dans la classe Test.
Puisque dans la consigne de la classe Test on me dit : Autres fonctions que vous jugez pertinentes.
Donc la seule classe ou je peux rajouter des choses est la classe Test.
Après si ça se trouve on me demande simplement de faire bêtement ce qu'il y a d’écrit et tant pis si le programme ne compile pas, perso je trouverais cela vraiment débile, mais ça m'est déjà arrivé
J'ai une autre erreur il s’agit de l'appel de la méthode jeuSudoku.
Voici l'erreur : cheminDuFicher cannot be resolved to a variable
et voici le code:
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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243 public class Test{ protected int _ligne; protected int _colonne; protected int _valeur; static Scanner sudoku = new Scanner(System.in); //Case bloc = new Case(); Grille grille = new Grille(al); public void main(String[] args) { int Sudoku = 0; int choix = 0; int afficheur1 = 0; int afficheur2 = 0; int afficheur3 = 0; System.out .println("*************************************Sudoku*********************************** "); System.out .println("Bienvenue dans le programme de Sudoku, ce programme ..."); System.out.println(" "); System.out.println("Veuillez choisir un des choix suivants:"); System.out.println("1. Charger jeu."); System.out.println("2. Jouer Sudoku."); System.out.println("3. Quitter."); afficheur1 = sudoku.nextInt(); int charger_jeu = 0; while (charger_jeu == 0) { if (afficheur1 == 1) { charger_jeu = 1; choix = 1; } else { charger_jeu = 0; } } int jouer_sudoku = 0; while (jouer_sudoku == 0) { if (afficheur2 == 2) { jouer_sudoku = 1; choix = 2; } else { jouer_sudoku = 0; } } int quitter = 0; while (quitter == 0) { if (afficheur3 == 3) { quitter = 1; choix = 3; } else { quitter = 0; } } if (choix == 1) { // Methode chargerJeu chargerJeu(cheminDuFicher); } if (choix == 2) { // jouerSudoku jouerSudoku(); } if (choix == 3) { System.exit(0); } } public static void chargerJeu(String cheminDuFicher) throws IOException { int[][] tab1 = new int[9][9]; try (Scanner scanner = new Scanner(new File(cheminDuFicher))) { while (scanner.hasNext()) { String triplet = scanner.next(); // chargement d'un triple xyz int x = Integer.parseInt(triplet.substring(0,1); // x est le chiffre des centaines int y = Integer.parseInt(triplet.substring(1,2); // y est le chiffre des dizaines int z = Integer.parseInt(triplet.substring(2,3); // z est le chiffre de l'unité tab1[x][y] = z; } System.out.println( tab1); } } public void savePartie(int[][] tab1, String cheminDuFichier) throws IOException { try (BufferedWriter writer = new BufferedWriter(new FileWriter( new File(cheminDuFichier)))) { // ici tu fais une double boucle sur le tableau et tu l'écris for (int i = 0; i < tab1.length; i++) { for (int j = 0; j < tab1[i].length; j++) { if (tab1[i][j] != 0) { writer.write(String.valueOf(i)); writer.write(String.valueOf(j)); writer.write(String.valueOf(tab1[i][j])); writer.write(" "); } } } } } public void jouerSudoku() { int[][] tab2 = new int[9][9]; int condition_ligne = 0; while (condition_ligne == 0) { System.out.print(" Veuillez choisir une ligne:"); _ligne = sudoku.nextInt(); if (_ligne > tab2.length) { System.out .println("Vous devez inserez un nombre compris entre 1 et 9"); condition_ligne = 0; } else if (_ligne < tab2.length) { System.out .println("Vous devez inserez un nombre compris entre 1 et 9"); condition_ligne = 0; } else { condition_ligne = 1; } } int condition_colonne = 0; while (condition_colonne == 0) { System.out.print(" Veuillez choisir une colonne:"); _colonne = sudoku.nextInt(); if (_colonne > tab2.length) { System.out .println("Vous devez inserez un nombre compris entre 1 et 9"); condition_colonne = 0; } else if (_colonne < tab2.length) { System.out .println("Vous devez inserez un nombre compris entre 1 et 9"); condition_colonne = 0; } else { condition_colonne = 1; } } int condition_valeur = 0; while (condition_valeur == 0) { System.out.print(" Veuillez choisir une valeur:"); _valeur = sudoku.nextInt(); if (_valeur > tab2.length) { System.out .println("Vous devez inserez un nombre compris entre 1 et 9"); condition_valeur = 0; } else if (_valeur < tab2.length) { System.out .println("Vous devez inserez un nombre compris entre 1 et 9"); condition_valeur = 0; } else { condition_valeur = 1; } } grille.estSurLigne(_valeur, _ligne); grille.estSurColonne(_valeur, _colonne); grille.estDansLeBloc(_valeur,_ligne,_colonne); } }
Je pense que la meilleur solution parmit celles que tu as énnoncé plus haut pour que le programme fonctionne serait celle-ci:L'autre solution serait de mettre les méthodes de sauvegarde et chargement fichier dans Grille, et de lui ajouter un constructeur avec le nom du fichier en paramètre, ce qui permettrait de créer une Grille à partir d'un fichier.
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Il faudrait donc que je déclare la variable cheminDuFichier avant l'appel de méthode.
C'est bon pour ce problème c'est résolut.
J'ai remarqué un autre problème toujours d'initialisation de variable dans la classe test à la ligne 36 pour liste.
Par contre quand j'initialise la variable il me dit qu'elle est dupliqué avec celle de ArrayList<Integer> liste;
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 import java.util.*; public class Grille { int[][] tab1 = { { 0, 4, 3, 7, 0, 0, 9, 0, 8 }, { 0, 0, 5, 0, 3, 0, 0, 0, 0 }, { 0, 1, 0, 0, 0, 0, 3, 0, 0 }, { 6, 0, 0, 0, 2, 7, 2, 0, 3 }, { 4, 0, 7, 0, 0, 0, 1, 0, 3 }, { 0, 0, 0, 5, 4, 0, 0, 0, 9 }, { 0, 0, 2, 0, 0, 0, 0, 3, 0 }, { 0, 0, 0, 0, 5, 0, 4, 0, 0 }, { 5, 0, 4, 0, 0, 1, 2, 6, 0 } }; public Grille(ArrayList<Integer> al) { int nbcol = 9; int nblig = 9; ArrayList<Integer> liste; if (liste.size() != nbcol * nblig) { System.out .println("erreur : pas assez ou trop de données dans la liste"); } int ligne = 0; int colonne = 0; for (Integer e : al) { tab1[ligne][colonne] = e; colonne++; if (colonne >= nbcol) { colonne = 0; ligne++; } } } public void grilleToArray(ArrayList<Integer>al){ for (int nblig = 0; nblig < tab1.length; nblig++) { for (int nbcol = 0; nbcol < tab1[nblig].length; nbcol++) { al.add(tab1 [nblig][nbcol]);; }} } public boolean estSurLigne(int _valeur, int _ligne) { for (int i = 0; i < 9; i++) if (tab1[_ligne][i] == _valeur) { System.out .println("cette valeur est déjà présente sur cette ligne"); return true; } return false; } public boolean estSurColonne(int _valeur, int _colonne) { for (int j = 0; j < 9; j++) if (tab1[_colonne][j] == _valeur) { System.out .println("cette valeur est déjà présente sur cette colonne"); return true; } return false; } public boolean estDansLeBloc(int _value, int _ligne, int _colonne) { return tab1[_ligne][_colonne] == _value; } private static final String tiret = "------------------------\n"; public void imprimerGrille() { StringBuilder sb = new StringBuilder(); sb.append(tiret); for (int i = 0; i < tab1.length; i++) { if (i == 3 || i == 6 ) { sb.append(tiret); } sb.append("|"); for (int j = 0; j < tab1[i].length; j += 3) { for (int kj = j; kj < j + 3; kj += 1) { if (tab1[i][kj] != 0) sb.append(tab1[i][kj]); else sb.append(" "); sb.append(" "); } sb.append("| "); } sb.append("\n"); } System.out.println(sb); sb.append(tiret); } }
Je ne sais plus ce que tu dis le sujet, et j'ai la flemme d'aller voir. Selon ce que dit le sujet :
- Faire une constante dans la classe Test, avec le nom du ficheir public static final String FILE_NAME = "trucbidule.txt"; ;
- afficher une message du type "Veuillez entre le nom du fichier : ", déclarer une variable, et lire sa valeur au clavier puis appeler la méthode.
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager