/* ExpansionEnConsole d'un caractere en une chaine de caracteres   */
/* par substitution de lettres par d'autres lettres       */
/* a -> bc, b -> ca, c -> a                               */

public class ExpansionEnConsole {

////////////////////////////////////////////////////////////

/* ExpansionEnConsole 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) {
    Console.setTitle("Expansion");
    char test;
    int nb;
    Console.afficher("Quel est votre caratere ? ");
    test = Console.saisirChar();
    Console.afficher("Combien de niveaux      ? ");
    nb = Console.saisirInt();
    for ( int n = 0 ; n <= nb ; n++ ) {
      Console.afficherln(n," : ",expansion(test,n)); }
  }
}