Figure d'étoile java
Résolu
sysy
-
sysy -
sysy -
Bonjour,je débute en java , j'essaye de réaliser une figure avec des étoile en forme de croix qui ressemble à ceci (sans prendre en compte les points):
* ........ *
...* ...*
......*
...*... *
* .........*
Voici mon programme:
class essai {
public static void main(String[] args){
int max =9;
int i=1;
int j=0;
while(i<=100){
j=1;
while(j<=max){
if(i==j){System.out.print("*");}
else {if(j==max){System.out.println("*");max- -;}
else {System.out.print(" ");}}
j++;}
i++;}
}
}
je n'obtiens pas vraiment la figure désirée,je ne sais pas où est l'erreur pouvez vous m'aidez?
* ........ *
...* ...*
......*
...*... *
* .........*
Voici mon programme:
class essai {
public static void main(String[] args){
int max =9;
int i=1;
int j=0;
while(i<=100){
j=1;
while(j<=max){
if(i==j){System.out.print("*");}
else {if(j==max){System.out.println("*");max- -;}
else {System.out.print(" ");}}
j++;}
i++;}
}
}
je n'obtiens pas vraiment la figure désirée,je ne sais pas où est l'erreur pouvez vous m'aidez?
A voir également:
- Figure d'étoile java
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
1 réponse
Bonsoir,
Essaie avec ceci :
Pourquoi as-tu mis "tant que i est inférieur ou égal à 100"? Ta figure est symétrique (horizontale, verticale, centrale, tout ce qu'on veut quoi), donc il est logique que ton parcours en longueur (j) soit aussi long que ton parcours en hauteur (i).
Conseil : essaie de commencer tes boucles à 0, c'est beaucoup plus facile pour les informaticiens (et donc quand on écrit un programme en général on a beaucoup moins de bugs dûs aux dépassements d'index car on a l'habitude).
Essaie avec ceci :
while(i<=max){
j=1;
while(j<=max){
if((i == j) || (j == (max - i + 1))) {
System.out.print("*");
}
else {
System.out.print(" ");
}
j++;
}
i++;
}
Pourquoi as-tu mis "tant que i est inférieur ou égal à 100"? Ta figure est symétrique (horizontale, verticale, centrale, tout ce qu'on veut quoi), donc il est logique que ton parcours en longueur (j) soit aussi long que ton parcours en hauteur (i).
Conseil : essaie de commencer tes boucles à 0, c'est beaucoup plus facile pour les informaticiens (et donc quand on écrit un programme en général on a beaucoup moins de bugs dûs aux dépassements d'index car on a l'habitude).
merci pour ta réponse, mais il y a un problème tout s'affiche sur une ligne cependant on remarque bien une symétrie entre les étoiles. il manque peut être un "System.out.println" quelque part ....
(je travaille sous éclipse)
while(i<=max){ j=1; while(j<=max){ if((i == j) || (j == (max - i + 1))) { System.out.print("*"); } else { System.out.print(" "); } j++; } i++; System.out.println(""); }Désolé.
public class essai2 {
public static void main(String[] args){
int max =9;
int i=1;
int j=0;
while(i<=max){
j=1;
while(j<=max){
if((i == j) || (j == (max - i + 1))) {
System.out.print("*");
}
else {if (j==max){System.out.println();}
else {
System.out.print(" ");
}}
j++;
}
i++;
}
}}
j'obtient la figure , sauf qu'il y a une ligne qui est décalé par râpport au autre:
*.........*...*...*
......*
...*...*
*.........*