Rechercher : dans
Par :

SVP URGENT problème en java débutant

Dernière réponse le 15 nov 2009 à 14:05:11 alex5105, le 14 nov 2009 à 17:16:44 
 Signaler ce message aux modérateurs

Bonjour a tous,
J'ai un partiel en programmation java la semaine prochaine et aussi un problème de comprehension dans un domaine. Le genre de problème lors de celui ci sera du type:
afficher grâce a une boucle les etoiles suivantes
.........................................*
.......................................***
.....................................*****
J'arrive à le faire sur n colonnes voulues mais je n'arrive pas à incrementer chaque ligne de * etoiles
Merci pour votre aide.


public class tp1
{public static void main(String args[])
{int x=0,c=1;
System.out.println("Donner une valeur");
x=Lire.i();
String et=new String("*"),vide=new String(" "),sr3=new String();
sr3=vide.concat(et);
while(c<=x){
System.out.println(sr3);
c++;
}
}
}

Configuration: Windows Vista Internet Explorer 8.0

Meilleures réponses pour « SVP URGENT problème en java débutant » dans :
[Programmation] Comment débuter, quel langage? VoirComment débuter, quel langage? Introduction Ceux que l'on peut utiliser Delphi/Pascal Java Python .Net Smalltalk Ceux que l'on peut utiliser à la rigueur C/C++ PHP Ada Lisp/Caml/... Ceux que l'on peut ne pas utiliser

1

Flachy Joe, le 14 nov 2009 à 18:40:01

Salut,
D'après ce que tu montres tu affiche à chaque itération la même variable (sr3) qui ne varie pas dans la boucle, donc chacune des x lignes sont identiques.
Il faut donc que tu t'interroges sur le moyen de "retirer" un espace et "d'ajouter" un étoile à chaque tour.
Retirer et ajouter entre "" car tu auras plus vite fait de recréer pour chaque ligne une suite d'espace et d'étoile....

NB :
En entourant ton code de < code > et </ code > (sans espace) tu conservera l'indentation :

public class tp1{
  public static void main(String args[]){
    int x=0, c=1;
    System.out.println("Donner une valeur");
    x=Lire.i();
    String et=new String("*"), vide=new String(" "), sr3=new String();
    sr3=vide.concat(et);
    while(c<=x){
      System.out.println(sr3);
      c++;
    }
  }
}
;-) Flachy Joe ;-)
Membre de l'association Olympe-Network
Ma clef PGP publique est disponible dans mon profil.

Répondre à Flachy Joe

2

alex5105, le 14 nov 2009 à 23:07:15

Merci de ta réponse mais en fait je n'est pas compris justement comment il est possible d'incrémenter un string. C'est à dire en gros faire *=*+2; a chaque boucle qui recommence et également de décrémenter le string espace. J'ai déja essayé plusieurs syntaxes mais lors de la compilation on m'affiche plusieurs messages d'erreur.

Répondre à alex5105

3

Flachy Joe, le 15 nov 2009 à 11:05:57

Comme je le disais, il ne faut pas chercher à ajouter ou retirer des caractères à chaque lignes mais plutôt recréer une ligne contenant un certain nombre d'espaces et d'étoiles.
;-) Flachy Joe ;-)
Membre de l'association Olympe-Network
Ma clef PGP publique est disponible dans mon profil.

Répondre à Flachy Joe

4

alex5105, le 15 nov 2009 à 11:32:52

Oui ca j'ai compris grace a la boucle tant que la boucle sera inferieur à x, le programme recréera une nouvelle ligne.Nos cours sont assez pauvres en informations et j'ai cherché 1 moment sur internet mais je n'arrive pas à trouver la syntaxe qui permet l'incrémentation comme pour un entier. et=et+2; vide=vide-1;

Répondre à alex5105

5

Flachy Joe, le 15 nov 2009 à 12:40:17

Bon voila une piste

String et=new String("*"), vide=new String(" "), laligne=new String();
int espaces = 5;
int etoiles = 2;
for (int c=1 ; c<= espaces; c++){
  laligne = laligne.concat(vide);
}
for (int c=1 ; c<= etoiles; c++){
  laligne = laligne.concat(et);
}
System.out.println(laligne);
;-) Flachy Joe ;-)
Membre de l'association Olympe-Network
Ma clef PGP publique est disponible dans mon profil.

Répondre à Flachy Joe

6

 alex5105, le 15 nov 2009 à 14:05:11

Ok merci pour le renseignement moi j'étais pas parti sur la même logique.Je pensais pouvoir facilement incrémenter et=et+2 par exemple mais je pense desormais avoir compris.

Répondre à alex5105
Collection CommentÇaMarche.net