/* Expansion d'un caractere en une chaine de caracteres */ /* par substitution de lettres par d'autres lettres */ /* a -> bc, b -> ca, c -> a */ public class Expansion { //////////////////////////////////////////////////////////// /* Expansion d'un caractere en une chaine de caracteres */ /* par substitution de lettres par d'autres lettres */ /* a -> bc, b -> ca, c -> a */ public static String expansion(char lettre,int niveau) { String res = ""; if ( niveau == 0 ) { res = res+lettre; } else { switch(lettre) { case 'a' : res = expansion('b',niveau-1)+expansion('c',niveau-1); break; case 'b' : res = expansion('c',niveau-1)+expansion('a',niveau-1); break; case 'c' : res = expansion('a',niveau-1); break; } } return res; } //////////////////////////////////////////////////////////// public static void main(String [] args) { char test; int nb; Ecran.afficher("Quel est votre caratere ? "); test = Clavier.saisirChar(); Ecran.afficher("Combien de niveaux ? "); nb = Clavier.saisirInt(); for ( int n = 0 ; n <= nb ; n++ ) { Ecran.afficherln(n," : ",expansion(test,n)); } } }