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