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

Langage Java Discussion :

Problème avec les méthodes en JAVA


Sujet :

Langage Java

  1. #1
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut Problème avec les méthodes en JAVA
    Bonjour tout le monde,

    Je suis en train d'apprendre les méthodes.

    J'ai un module qui se compose d'un main et de deux méthodes.

    Seule, la méthode main et la méthode afficheMessage fonctionne, soulignement ne fonctionne pas.

    Voyez-vous d'où vient le problème ?

    Merci d'avance et bon fin de WE.

    beegees

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    public class arguments 
    {
    	public static void main (String[] args)
    	{
    		String messageDeDebut = "Debut du programme";
    		String messageDeMilieu = "Milieu du programme";
    		String messageDeFin = "Fin du programme";
     
    		AfficheMessage(messageDeDebut);
    		//appel de la méthode soulignement();
    		soulignement('*', messageDeDebut.length());
    		AfficheMessage(messageDeMilieu);
    		soulignement ('*', messageDeMilieu.length());
    		AfficheMessage (messageDeFin);
    		soulignement ('*', messageDeFin.length());
    		soulignement('=',80);
     
     
    	}
     
     
    		public static void AfficheMessage(String message)
    		{
     
     
    		System.out.println(message);
     
    	}
    	public static void soulignement (char car, int x)
    	{
    		//écrit x fois le caractère car sur la même ligne 
    		//passe à la ligne suivante
     
    		String ligne = "";
     
    		for (int i = 0; i < x; i++)
    		{
    			ligne += car;
    		}
     
    			System.out.println(ligne);
    	}
     
    }

  2. #2
    Membre expert
    Avatar de Janitrix
    Inscrit en
    Octobre 2005
    Messages
    3 391
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3 391
    Points : 3 401
    Points
    3 401
    Par défaut
    Par convention, le nom de la classe doit débuter par une majuscule, et le nom de tes méthodes par une minuscule. Ensuite, tu déclares la méthode 'soulignement' avec le mot clé static, donc, tu dois l'appeler comme telle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    arguments.AfficheMessage(messageDeDebut);
    		//appel de la méthode soulignement();
    		arguments.soulignement('*', messageDeDebut.length());
    		arguments.AfficheMessage(messageDeMilieu);
    		arguments.soulignement ('*', messageDeMilieu.length());
    		arguments.AfficheMessage (messageDeFin);
    		arguments.soulignement ('*', messageDeFin.length());
    		arguments.soulignement('=',80);
    Il doit y avoir une explication sur le fonctionnement du mot clé static dans la FAQ mais je ne suis pas sur. Dans le cas contraire, un petit tour sur le site de Sun ou dans un bon bouquin Java comblera tes lacunes. Bonne chance.

  3. #3
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Bonjour Jamitrix,

    Merci pour ta réponse.

    J'ai suivi tes conseils, j'ai pourtant toujours le même résultat.

    Voici le code que j'ai modifié :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    arguments.AfficheMessage(messageDeDebut);
    		//appel de la méthode soulignement();
    		arguments.soulignement('*', messageDeDebut.length());
    		arguments.AfficheMessage(messageDeMilieu);
    		arguments.soulignement ('*', messageDeMilieu.length());
    		arguments.AfficheMessage (messageDeFin);
    		arguments.soulignement ('*', messageDeFin.length());
    		arguments.soulignement('=',80);
    Qu'en penses-tu ?

    beegees

  4. #4
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par beegees
    Voyez-vous d'où vient le problème ?
    Et quel est le problème exactement ???


    a++

    PS : Il faut éviter les concaténations de chaines dans une boucle : Comment concatener des chaînes de caractères ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2005
    Messages : 46
    Points : 58
    Points
    58
    Par défaut
    Salut ,

    Citation Envoyé par beegees

    Seule, la méthode main et la méthode afficheMessage fonctionne, soulignement ne fonctionne pas.
    Comment ça elle ne fonctionne pas ?
    Quest-ce que tu obtiens en sortie ?

  6. #6
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 814
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 814
    Points : 7 642
    Points
    7 642
    Par défaut
    Citation Envoyé par beegees
    Seule, la méthode main et la méthode afficheMessage fonctionne, soulignement ne fonctionne pas.
    Si si, soulignement fonctionne...

    A moins que tu ne veuilles autre chose que ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Debut du programme
    ******************
    Milieu du programme
    *******************
    Fin du programme
    ****************
    ================================================================================
    en sortie...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  7. #7
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Merci à vous tous pour vos réponses.

    Le résultat attendu est le résultat qu'indique plegat, mais chez moi ça fonctionne pas.

    Je n'obtiens que :

    Debut du programme
    Milieu du programme
    Fin du programme

    Il ne tient pas compte des * et des ====

    Je lance les deux méthodes à partir de main, c'est correct quand même ?

    Voici l'entierté de mon code :

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    public class arguments 
    {
    	public static void main (String[] args)
    	{
    		String messageDeDebut = "Debut du programme";
    		String messageDeMilieu = "Milieu du programme";
    		String messageDeFin = "Fin du programme";
     
    		arguments.AfficheMessage(messageDeDebut);
    		//appel de la méthode soulignement();
    		arguments.soulignement('*', messageDeDebut.length());
    		arguments.AfficheMessage(messageDeMilieu);
    		arguments.soulignement ('*', messageDeMilieu.length());
    		arguments.AfficheMessage (messageDeFin);
    		arguments.soulignement ('*', messageDeFin.length());
    		arguments.soulignement('=',80);
     
     
    	}
     
     
    		public static void AfficheMessage(String message)
    		{
     
     
    		System.out.println(message);
     
    	}
    	public static void soulignement (char car, int x)
    	{
    		//écrit x fois le caractère car sur la même ligne 
    		//passe à la ligne suivante
     
    		String ligne = "";
     
    		for (int i = 0; i < x; i++)
    		{
    			ligne += car;
    		}
     
    			System.out.println(ligne);
    	}
     
    }
    Merci encore pour votre aide.

    beegees

  8. #8
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 814
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 814
    Points : 7 642
    Points
    7 642
    Par défaut
    Oui, éh bien avec ton code, on obtient la sortie que j'ai mise précédemment...

    Tu ferais mieux de vérifier que tu lances bien le bon fichier *.class, avec la compilation qui correspond bien au fichier *.java... parce que là... tu dois faire une boulette quelque part.

    Ton code fonctionne, ça vient forcément des manipulations que tu fais pour compiler/lancer... on pourrait avec des précisions sur ce que tu fais?
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2005
    Messages : 46
    Points : 58
    Points
    58
    Par défaut
    Citation Envoyé par plegat
    Si si, soulignement fonctionne...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Debut du programme
    ******************
    Milieu du programme
    *******************
    Fin du programme
    ****************
    ================================================================================
    Idem pour moi, le résultat est bien celui attendu...
    Comme a dit plegat," ça vient forcément des manipulations que tu fais pour compiler/lancer... "

    Erreur possible (une idée):
    -tu compiles ton code sans la méthode soulignement
    -tu obtiens arguments.class
    -tu modifies ton code en rajoutant la méthode soulignement
    -tu le compiles mais dans un autre dossier
    -tu éxécutes arguments.class en pensant que c'est le nouveau alors qu'il s'agit toujours de l'ancien.

    a voir...

  10. #10
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Re-bonjour tout le monde,

    C'est en effet un problème de monvaise utilisation de mon programme Jcreator.

    J'utilise en général la version 3.10 et ici j'ai utlisé la version 3.50 qui est différente de la 3.10.

    Les icones de compilation et de lecture sont complètement différents.

    En plus, je dois faire "build" "execute file" pour qu'il execute et qu'il me montre les astérisques et les égals.

    Par contre, j'ai essayé de retirer les arguments. et ça fonctionne, c'est sans doute par ce que le main est dans le même module que les méthodes.

    Merci à vous pour votre dévouement et pour votre générosité !

    beegees

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec une méthode en Java
    Par hala02 dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 21/12/2010, 22h56
  2. Réponses: 4
    Dernier message: 13/05/2009, 15h04
  3. Problème avec les méthodes Linq to SQL en C#
    Par Lennox dans le forum Silverlight
    Réponses: 7
    Dernier message: 05/09/2008, 18h53
  4. [Débutant] problème avec les IO de java
    Par Amissan dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 17/11/2006, 16h27
  5. [Système] Problème avec les méthodes d'une classe
    Par oussama127 dans le forum Langage
    Réponses: 7
    Dernier message: 30/08/2006, 09h18

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