Deux écritures différentes pour un même programme
Bonjour à tous, je viens vous demander de l'aide concernant un exercice que j'ai a faire.
On me demande de corriger ce programme:
Code:
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
| public TesterValiditer {
public boolean testervalidite (int [ ][ ] grille ){
for (int i = 0;i< grille.length; i++){
int max = grille[i][0];
for (int e = 1;e< grille[i].length; j++){
if (grille[i][e]== max && max !=0){
solution = false;
// ici vous devez arrêter le programme
}
if (grille[i][e] !=0){
nbelement++;
}
max = grille[i][e];
}
}
if (solution && nbelements< 16){
solution = false
}
return solution
}
public static void main (String [] args){
//définition d'une grille pour le test
int[ ][ ] grille= {{1,2},{3,4},{5,6},{7,8},{1,3},{4,6},{7,9}};
}
} |
Voila après correction:
Code:
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
| public class TesterValiditer {
public static void testervaliditer (int grille [][]){
boolean solution = true;
int nbelement = 0;
for (int i = 0; i < grille.length; i++){
int max = grille [i][0];
for (int e = 1; e< grille [i].length; e++){
if (grille [i][e] == max && max != 0){
solution = false;
System.out.println ("la grille est non valide ! ");
break;
}
if (grille [i][e] != 0) {
nbelement++;
}
max = grille [i][e];
}
}
if (solution && nbelement < 16) {
solution = false;
System.out.println ("la grille est non valide ! ");
}
}
public static void main (String [] args){
int[][] grille= {{1,2},{3,4},{5,6},{7,8},{1,3},{4,6},{7,9}};
testervaliditer (grille);
}
} |
Par contre maintenant on me demande de proposer une autre écriture pour ce programme. Je dois avouer que je tourne en rond. Auriez-vous une idée à propos de cette réécriture?