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 :

Problème avec ce programme String


Sujet :

avec Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Points : 147
    Points
    147
    Par défaut Problème avec ce programme String
    bonjour
    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
     
    package javaapplication1;
    public class Tuna
    {
        private int month;
        private int day;
        private int year;
     
        public tuna(int m,int d,int y)
        {
            month=m;
            day=d;
            year=y;
            System.out.printf("The constructor for this is%s\n",this);
        }
        public String toString()
        {
            return String.format("%d/%d%d%d",month,day,year);
     
        }
    }
     
    package javaapplication1;
    public class Apples
    {
     public static void main(String[]args)
     {
         Tuna TunaObject=new Tuna("4,5,6");
     
     }
    }
    en compilant ce programme j'ai erreur suivantes:
    Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - cannot find symbol
    symbol: constructor Tuna(java.lang.String)
    location: class javaapplication1.Tuna
    at javaapplication1.Apples.main(Apples.java:7)
    Java Result: 1

    les lignes suivantes sont soulignés
    public tuna(int m,int d,int y)
    Tuna TunaObject=new Tuna("4,5,6");

    aidez moi s'il vous plaît

  2. #2
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Points : 2 061
    Points
    2 061
    Par défaut
    bonjour,
    Voila comment corriger les problèmes de compilation :
    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
    package javaapplication1;
    public class Tuna
    {
        private int month;
        private int day;
        private int year;
     
        public Tuna(int m,int d,int y) // La casse du nom du constructeur doit être identique au nom de la class
        {
            month=m;
            day=d;
            year=y;
            System.out.printf("The constructor for this is%s\n",this);
        }
        public String toString()
        {
            return String.format("%d/%d%d%d",month,day,year);
     
        }
    }
     
    package javaapplication1;
    public class Apples
    {
     public static void main(String[]args)
     {
         Tuna TunaObject=new Tuna(4,5,6); // Pas de guillemet autour de 4,5,6. le constructeur Tuna attend 3 valeurs de type int 
         
     }
    }
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti
    Avatar de DaveShot
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2008
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2008
    Messages : 238
    Points : 384
    Points
    384
    Par défaut
    Bonjour,

    dans un premier temps, je pense qu'il y a un problème avec le nom de ton constructeur, il doit commencer par une majuscule.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public Tuna(int m,int d,int y)
    Ensuite, dans ton constructeur tes paramètres sont trois entiers, alors que lors de ton appel tu as une chaine de caractères.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Tuna TunaObject=new Tuna("4,5,6"); --> Tuna TunaObject=new Tuna(4,5,6);
    J'espère que ca peut d'aider à avancer dans ton problème.
    - N'hésitez pas à consulter les liens vers les FAQs, les cours et tutoriels -

    Daveshot

  4. #4
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 239
    Points : 313
    Points
    313
    Par défaut
    Bonjour,

    il doit également y avoir une erreur ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return String.format("%d/%d%d%d",month,day,year);
    Cependant, cette erreur ne devrait pas apparaître à la compilation mais à l'exécution.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Points : 147
    Points
    147
    Par défaut
    j'ai corrigé les erreurs comme vous m'avez dit
    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
     
    package javaapplication1;
    public class Tuna
    {
        private int month;
        private int day;
        private int year;
     
        public Tuna(int m,int d, int y)
        {
            month=m;
            day=d;
            year=y;
            System.out.printf("The constructor for this is%s\n",this);
        }
        public String toString()
        {
            return String.format("%d/%d%d%d",month,day,year);
     
        }
    }
     
    package javaapplication1;
     
    public class Apples
    {
     public static void main(String[]args)
     {
         Tuna TunaObject=new Tuna(4,5,6);
     
     }
    }
    en compilant j'ai erreurs suivantes:
    Exception in thread "main" java.util.MissingFormatArgumentException: Format specifier 'd'
    at java.util.Formatter.format(Formatter.java:2431)
    at java.util.Formatter.format(Formatter.java:2366)
    at java.lang.String.format(String.java:2770)
    at javaapplication1.Tuna.toString(Tuna.java:18)
    at java.util.Formatter$FormatSpecifier.printString(Formatter.java:2793)
    at java.util.Formatter$FormatSpecifier.print(Formatter.java:2676)
    at java.util.Formatter.format(Formatter.java:2432)
    at java.io.PrintStream.format(PrintStream.java:920)
    at java.io.PrintStream.printf(PrintStream.java:821)
    at javaapplication1.Tuna.<init>(Tuna.java:14)
    at javaapplication1.Apples.main(Apples.java:8)

    et dans la ligne
    Tuna TunaObject=new Tuna(4,5,6);

    "TunaObject" est souligné

  6. #6
    Membre éprouvé
    Inscrit en
    Mars 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2006
    Messages : 848
    Points : 1 078
    Points
    1 078
    Par défaut
    Bonjour,

    tout d'abord, ton erreur n'est pas à la compilation, mais à l'exécution...

    Ensuite, c'est à cause de l'erreur relevée par jcdentons: tu as 4 "format specifier" '%d' alors que tu n'as que 3 nombres à formatter.

    Enlève un '%d' et ça ira mieux.

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Points : 147
    Points
    147
    Par défaut
    merci beaucoup,j'ai compris mon erreur

  8. #8
    Membre averti
    Avatar de DaveShot
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2008
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2008
    Messages : 238
    Points : 384
    Points
    384
    Par défaut
    En fait ton erreur vient du faut que tu aies quatre %d, alors que tu n'as que trois paramètres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return String.format("%d/%d%d%d",month,day,year);
    - N'hésitez pas à consulter les liens vers les FAQs, les cours et tutoriels -

    Daveshot

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

Discussions similaires

  1. Problème avec fonctions et string/char
    Par vdumont dans le forum C++
    Réponses: 6
    Dernier message: 08/04/2006, 16h54
  2. Réponses: 11
    Dernier message: 14/02/2006, 00h26
  3. Problème avec le programme executable
    Par GreyDragon dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 01/10/2005, 13h43
  4. Problème avec un programme éxécuter en console
    Par bzhrobby dans le forum Windows
    Réponses: 2
    Dernier message: 25/04/2005, 10h42
  5. probléme avec une date/string dans un CommandText
    Par critok dans le forum Bases de données
    Réponses: 5
    Dernier message: 09/02/2005, 15h30

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