Problème de récusivité avec chars
voici le code que j'ai envisagé.
celui-ci est court et a simplement pour but de donner toutes les solution d'arrangement de "o" lettre parmis "n" (les lettres sont considérées en ordre croissant.)
voici le code que j'utilise :
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
| /**
*
* @author (laurent)
* @version (avril 2007)
*/
class ls
{
public static void main()
{ // main
int o=3;//nobre de tirages
char n='d'; // ensemble de départ
int temp;
int tmp;
long tot=0; // compteur
char[] tab1= new char[4];
for (int i=0; i<tab1.length; i++){
tab1[i] = 'a';
}
char[] tab2= new char[4];
for (int j=0; j<tab2.length; j++){
tab2[j] = 'd';
}
while(tab1!=tab2){
temp=tab1[o];
tab1[o]=(char)temp++;
for(int k=o;k<=0;k--){
if(tab1[k]>n){
tab1[k]='a';
tmp=tab1[k-1];
tab1[k-1]=(char)(tmp++);
}//fin if
}//fin for
System.out.println(tab1);
tot=tot+1;
}//fin while
System.out.println("");
System.out.println("FIN ("+tot+" résultats trouvés");
} // main
} // class |
la problème, est que celui qui fait une boucle infinie et afiche sans cesse
aaaa
aaaa
...
quelqu'un voit il mon erreur?
merci à vous