Créer un triangle de stars en utilisant uniquement la récursivité

J'ai besoin d'écrire une méthode qui est appelée comme printTriangle(5);. Nous avons besoin de créer une méthode itérative et récursive de la méthode (sans itération). La sortie doit ressembler à ceci:

*
**
***
****
*****

Ce code fonctionne avec l'itératif, mais je ne peux pas l'adapter pour être récursive.

public void printTriangle (int count) {
    int line = 1;
    while(line <= count) {
        for(int x = 1; x <= line; x++) {
            System.out.print("*");
        }
        System.out.print("\n");
        line++;
    }
}

Je note que vous ne pouvez pas utiliser n'importe quelle classe les variables de niveau ou externes méthodes.

  • Est-ce un devoir?
  • Les espaces ne sont pas valides caractères en Java noms de méthode. Vous devrez l'appeler like_printTriangle(5)
  • Oui, il est. C'est la première fois en 22 chapitres, j'ai eu aucun problème. @mobrule: Ce que cela a à voir avec quoi que ce soit? Une chose que j'ai essayé a été formaté à l'aide de la chaîne, mais il semble que Java ne prend pas en charge personnalisée les caractères de remplissage.
  • Pourquoi avez-vous combiner une boucle while et pour la boucle dans la version itérative? Il sera beaucoup plus propre (et peut-être plus facile de convertir à la récursion) avec deux boucles for imbriquées).
  • Je pourrais, mais mon professeur dit qu'il veut la clarté sur les performances (je pense qu'il est juste paresseux).
  • Voir aussi: stackoverflow.com/questions/2498039/...

InformationsquelleAutor Alec Gorge | 2010-04-26