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 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
import java.util.*;
public class Aide {
//on affiche diretement dans la procedure
public static void recur_affiche(
int ligne_restante,
String ligne_precedente) {
int nombre_de_fois;
String le_caractete_tester;
int compteur;
String resultat;
resultat = "";
nombre_de_fois = 0;
compteur = 0;
System.out.println(ligne_precedente);
le_caractete_tester = ligne_precedente.charAt(0) + "";
while (compteur < ligne_precedente.length()) {
if (le_caractete_tester
.compareTo(ligne_precedente.charAt(compteur) + "")
!= 0) {
resultat = resultat + nombre_de_fois + le_caractete_tester;
nombre_de_fois = 0;
}
nombre_de_fois = nombre_de_fois + 1;
le_caractete_tester = ligne_precedente.charAt(compteur) + "";
compteur = compteur + 1;
}
resultat = resultat + nombre_de_fois + le_caractete_tester;
if (ligne_restante > 1) {
recur_affiche(ligne_restante - 1, resultat);
}
}
//on met les resultats dans un tableau qui sera afficher plus tard
public static void recur(
int ligne_restante,
String ligne_precedente,
Vector resultat_suivant) {
int nombre_de_fois;
String le_caractete_tester;
int compteur;
String resultat;
resultat = "";
nombre_de_fois = 0;
compteur = 0;
resultat_suivant.add(ligne_precedente);
le_caractete_tester = ligne_precedente.charAt(0) + "";
//on prend le premier cara
while (compteur < ligne_precedente.length()) {
if (le_caractete_tester
.compareTo(ligne_precedente.charAt(compteur) + "")
!= 0) {
resultat = resultat + nombre_de_fois + le_caractete_tester;
nombre_de_fois = 0;
}
nombre_de_fois = nombre_de_fois + 1;
le_caractete_tester = ligne_precedente.charAt(compteur) + "";
compteur = compteur + 1;
}
resultat = resultat + nombre_de_fois + le_caractete_tester;
if (ligne_restante > 1) {
recur(ligne_restante - 1, resultat, resultat_suivant);
}
}
public static void main(String[] args) {
//utilisation de la procedure qui met le résultat dans un tableau
Vector affiche = new Vector();
Aide.recur(10, "1", affiche);
for (int i = 0; i <= 9; i++) {
System.out.println((String) affiche.elementAt(i));
}
//utilisation de la procédure qui affiche les résultats
recur_affiche(10, "1");
}
} |
Partager