Affichage d'un Triangle d'étoiles [Résolu]

Signaler
Messages postés
3
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
23 novembre 2009
-
 zizo -
Bonjour a tous, voila je cherche a afficher un triangle d'étoiles, on lit n au clavier et on affiche n lignes d'étoiles, la première contenant une, la deuxième deux..... mais pour les colonnes la nième colonne contient n étoile et lavant dernière n-1....,j'ai fais un petit programme qui tourne bien mais !!:

class triangle {
  public static void main(String[] args){
                 int n = Integer.parseInt(args[0]);
                 for(int i=n; i>0; i--){
                	 for(int j=0; j<=n-i; j++){
                	 System.out.print("*");
                	 }
                	 System.out.println("");
                }
  }
}

mais ce programme m'affiche ça : pour n=5 par exemple
*
**
***
****
*****

et ce qui est demander dans mon exercice c'est plutôt ça: pour n=5 par exemple
    *
   **
  ***
 ****
*****

merci de bien vouloir m'aider a trouver l'astuce de cet affichage

6 réponses

Messages postés
3
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
23 novembre 2009

Merci danimo pour votre réponse, ça marche parfaitement. moi je pensais que fallait juste jouer avec les deux boucles imbriquées for i et for j. je sais pas si c'est faisable avec seulement deux boucles? mais ça reste une solution juste encore merci

Je suis certain qu'il y a d'autres solutions que ma bidouille adaptée à ce que tu avais programmé...

Cordialement,

...\ Dan /...

Ps,

Tu peux aussi essayer ceci que j'ai oublié de te donner:

         for(int i = n; i > 0; i--)
         {
            for(int ii = 0; ii < i-1; ii++)
            {
               blancs = blancs + " ";
            }
            
            for(int j = 0; j <= n-i; j++)
            { 
               System.out.print(blancs + "*");
               blancs = "";
            }
            
            for(int j = 1; j <= n-i; j++)
            { 
               System.out.print("*");
            }
            System.out.println("");
         }


et qui est la combinaison de ce que tu avais avec ce que tu as maintenant et qui peut t'intéresser.

...\ Dan /...
Messages postés
3
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
23 novembre 2009

Encore merci pour tes réponses ça ma bcp aider.
Messages postés
40
Date d'inscription
jeudi 29 mai 2008
Statut
Membre
Dernière intervention
7 mai 2015

Bonjour,
essaie plutot ca:



import java.util.Scanner;


public class Test {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
    int x, i,j;
          System.out.println("Rentrez le nombre de lignes du triangle :");
          Scanner sc = new Scanner(System.in);
          x = sc.nextInt();
          for(i=1;i<x+1;) {
              for(j=0;j<i;j++) {
               System.out.print("*");
              }
              i++;
              System.out.println("");
               
              
              }
          }
 }
Messages postés
14857
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
25 mai 2020
405
Bonjour, merci pour cette contribution, bien que la question soit résolue depuis 5 ans.
Par contre merci d'utiliser la coloration syntaxique, voir ici.

Salut,
Tu peux faire ceci:
public static void main(String[] args)
      {
         String blancs = "";
         int n = Integer.parseInt(args[0]);
         for(int i = n; i > 0; i--)
         {
            for(int ii = 0; ii < i-1; ii++)
            {
               blancs = blancs + " ";
            }
            for(int j = 0; j <= n-i; j++)
            { 
               System.out.print(blancs + "*");
               blancs = "";
            }
            System.out.println("");
         } 
      }


Cordialement,


...\ Dan /...
cette n'a pas ete valide avec moi