Bonjour à tous,
Je débute en JAVA et souhaite faire 3 boucles sur ce code. J’ai fait la 1ère boucle qui contrôle la 1ère ligne et 1ère colonne du tableau, une 2ème boucle qui contrôle la 1ère zone et la 3ème boucle qui contrôle le tableau.
public class SodokuTest {
//initialisation du tableau
private int tab[][] = {
{3,7,0,0,0,0,0,6,0},
{0,0,8,3,1,5,0,0,0},
{4,9,0,0,0,7,2,5,0},
{0,4,3,8,0,0,0,0,0},
{6,0,0,5,0,4,0,0,7},
{5,0,0,0,0,9,4,1,0},
{0,2,7,9,0,0,0,4,8},
{0,0,0,2,7,6,1,0,0},
{0,5,0,0,0,0,0,3,2}
};
public static void main(String[] args) {
System.out.println ("Demarage de l'application so do kuTest "+ "\n");
SodokuTest sodoku = new SodokuTest();
sodoku.afficheTableau();
System.out.println ("fin de l'application so do kuTest");
}
//constructeur
public SodokuTest(){
if (!this.controlTableau()){
System.out.println("les données d'initialisation sont erronées");
}
}
//affiche le tableau a l'ecran
public void afficheTableau(){
String tableau = "";
for(int i = 0; i<tab.length;i++){
tableau += this.construitLigne(i)+"\n";
}
System.out.println(tableau);
}
// construit l'affichage d'une ligne du tableau
private String construitLigne(int noLigne){
String ligne = "";
for(int i = 0; i<tab.length;i++){
ligne += tab[noLigne][i]+ " ";
}
ligne=ligne.replace("0","");
return ligne;
}
//le return true est la pour pouvoir compiler... à enlever
private boolean controlTableau(){return true;}
private boolean controlZone (int zone){return true;}
private boolean controlLigne (int ligne){return true;}
private boolean testValid(int petitTab[]){
//Controle que le tableau petitTab ne comprenne pas de valeur similaire sauf 0
boolean valid = true;
for(int i = 0; i < petitTab.length; i ++){
if (petitTab[i] > 0){
for(int i2 = i + 1; i2 < petitTab.length; i2 ++){
if (petitTab[i2] > 0){
if(petitTab[i] == petitTab[i2]){
valid = false;
}
}
}
}
}
return valid;
}
}