Losange d'étoiles

Bonjour à tous,

Je dois faire un losange d'étoile de cette forme (avec N = 9 pour l'exemple)
*
***
*****
*******
********* (je ne montre que la première partie du losange, si j'arrive à faire ça, le reste coule de source)

J'arrive à afficher les étoiles mais je n'arrive pas à gérer le nombre d'espace (pour 1 étoile, l'espace avant l'étoile est de 4 puis pour la 2ème étoile de 3, etc ...)

Voici mon code:

int N, i, j, nbespace;

System.out.println("Entrez un nombre impair");
Scanner sc = new Scanner (System.in);

N = sc.nextInt();

for (i = 1; i <= N ; i+=2)
{
for (j = 1; j <=i; j++)
{

System.out.print("*");
}
System.out.println();
}

Quand j'exécute il m'affiche les étoiles (1 ; 3 ; 5 ; 7 ; 9) mais je ne sais pas comment gérer mon affichage des espaces.

Merci à ceux qui pourront m'apporter leur aide.

2 réponses

  1. Modérateur
    "comment gérer mon affichage des espaces."
    Et bien déjà en mettant des espaces quelque part, là tu ne mets jamais d'espace dans ton code, ça risque pas d'en afficher...
    0
    1. Merci de ta réponse. Je dois refaire une boucle for entre les boucles i et j pour gérer les espaces si j'ai bien compris ?
      0
      1. Modérateur
        Par exemple... il y a plusieurs manières d'arriver au résultat.
        0
      2. for ( k = 1; k <= i ; k++)
        {
        System.out.print(" ");
        }

        Voilà ma boucle mais c'est pas encore ça ...
        0