IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Créer un triangle isocèle en java avec"*"


Sujet :

avec Java

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Créer un triangle isocèle en java avec"*"
    Bonjour,
    Je suis débutant en java et je m'entraîne sur un programme qui va vous paraître tout simple.


    Écrire un programme qui affiche un triangle isocèle formé d’étoiles. La hauteur du triangle (c’est-à-dire son nombre de lignes) sera fourni en donnée, comme dans l’exemple ci-dessous.
    On s’arrangera pour que la dernière ligne du triangle s’affiche sur le bord gauche de l’écran. combien de lignes ? 8

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
           *
          ***
         *****
        *******
       *********
      ***********
     *************
    ***************
    J'ai essayé de le réaliser avec des boucles for mais cela ne fonctionne pas.Le programme saute les boucles for. Je ne trouve pas mon erreur.
    Voici mon programme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    import java.util.Scanner;
    public class Triangle {
     
    	public static void main(String[] args) {
     
    Scanner sc = new Scanner(System.in);
    		System.out.println("Vous voulez un triangle de combien de lignes?");
    		int nombredeligne=sc.nextInt();
     
    for(int k=nombredeligne;k<=0;k--)
    {
    			for(int j=0;j>=k;j++)
     
    				{
    				System.out.print(" ");
    				}
     
    			for (int i=k;i>=nombredeligne;i++)
    				{
    					System.out.print("*");
    				}
    			System.out.println("");
    }
    											}
    					   }
    Pouvez vous m'expliquer mon erreur?
    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Tes conditions sont écrites à l'envers. Si je lit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for(int k=nombredeligne;k<=0;k--)
    Ca dit "pour k démarrant à 8, tant que k est inférieur ou égal à 0, faire ceci:".

    Bref, la condition ne sera jamais vraie.

    Même problème avec tes autre boucles.

  3. #3
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    Tiens on dirait la même question que ici : http://www.developpez.net/forums/d12...light=triangle qui contient un code quand même plus simple que le tiens.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre à l'essai
    Inscrit en
    Octobre 2012
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Octobre 2012
    Messages : 20
    Points : 21
    Points
    21
    Par défaut
    Vous pouvez essayer ce code aussi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    public class Triangle {
     
    	public static void main(String[] args) {
    			int x=Integer.parseInt(args[0]);
    			int i , j;
     
    			for(i=1;i<=x;i++)
    			{
    				for(j=x;j>x-i;j--)
    					System.out.print("*");
     
    				System.out.println();
    			}				
    		}
    }

  5. #5
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Citation Envoyé par Humoule Voir le message
    Vous pouvez essayer ce code aussi :
    C'est le même code que celui du lien proposé par wax78, sauf que tu as seulement inversé le compteur dans la boucle imbriqué . Mais ici il cherche un triangle isocèle avec des * . Ce qu'on a est un triangle rectangle qui n'est pas isocèle .

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    L'un n'empêche pas l'autre

  7. #7
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    La demande est un peu plus claire depuis que j'ai ajouté une balise [CODE].
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    En effet ca change un peu tout.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    int nombredeligne = 4;
     
    for (int k = 0; k <= nombredeligne; k++)
    {
    	for (int j = 0; j < nombredeligne-k; j++)
    		System.out.print(" ");
    	for (int i = 0; i < (k*2+1); i++)
    		System.out.print("*");
    	System.out.println("");
    }
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Je crois que ça devrait marcher avec le code de wax78, mais il y aura une ligne de plus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for (int k = 0; k < nombredeligne; k++)
    A+.

  10. #10
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    Oui il faut faire -1 quelque part
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  11. #11
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup pour votre aide

  12. #12
    Membre régulier
    Homme Profil pro
    Analyste IP + Programmation
    Inscrit en
    Février 2016
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste IP + Programmation
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2016
    Messages : 59
    Points : 72
    Points
    72
    Par défaut
    Citation Envoyé par wax78 Voir le message
    En effet ca change un peu tout.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    int nombredeligne = 4;
     
    for (int k = 0; k <= nombredeligne; k++)
    {
    	for (int j = 0; j < nombredeligne-k; j++)
    		System.out.print(" ");
    	for (int i = 0; i < (k*2+1); i++)
    		System.out.print("*");
    	System.out.println("");
    }
    Incroyable, on trouve de tout sur ce site, merci car j'avais aussi cette exercice à faire en laboratoire...

    Mais contextuellement, quelqu'un pourrait m'écrire comment visualiser le processus des 3 boucles for...

    Je maîtrise la notion de for dans un for .... exemple pour un triangle rectangle...je comprend bien son fonctionnement...

    Mais un for dans un for dans un for...je ne suis pas sur de comprendre la logique derrière ça...

    Merci

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Debutant
    Inscrit en
    Février 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Debutant

    Informations forums :
    Inscription : Février 2016
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par benoit256255 Voir le message

    Mais un for dans un for dans un for...je ne suis pas sur de comprendre la logique derrière ça...

    Merci
    Il n'y a pas ici de for dans un for dans un for.
    Il y a le premier for, dans lequel s'exécute ensuite deux for. Mais ceux ci ne sont pas imbriqués:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    for (condition1){
        for(condition2){
    ........
    ........
        }
    // PUIS ENSUITE
        for(condition 3){
    ......
    ......
        }
    }
    Sinon l'imbrication est utile dans un tableau à 3 dimensions

Discussions similaires

  1. créer un zip en java avec un code pour y acceder
    Par titi42 dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 09/08/2009, 23h43
  2. créer une routine d'installation pour appli java avec netbeans
    Par dummygreg dans le forum NetBeans Platform
    Réponses: 3
    Dernier message: 23/07/2009, 23h12
  3. Créer une classe .java avec un code java
    Par demcoul dans le forum Langage
    Réponses: 10
    Dernier message: 03/01/2008, 00h06
  4. Réponses: 3
    Dernier message: 11/04/2006, 09h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo