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 :

Carnet d'adresse en Java


Sujet :

avec Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 11
    Points : 5
    Points
    5
    Par défaut Carnet d'adresse en Java
    Bonjour,

    je commence à apprendre le langage JAVA et je me suis lancé dans un petit exercice pour commencer à pratiquer un peu.

    le but de l'exercice est de créer un petit carnet d'adresse avec des contacts (nom, prénom, date de naissance, adresse mail, adresse postal, code postal, ville et téléphone) ainsi que des groupes (nom du groupe, liste de contact et description du groupe).

    On pourra créer/modifier/supprimer un groupe

    créer/modifier/supprimer un contact

    ajouter des contacts à un groupe

    Il faudrait aussi créer des contrôles sur le téléphone (10 chiffres obligatoires) et le code postale (5 chiffres obligatoires)

    Le constructeur doit par défaut mettre le n° de téléphone : 00 00 00 00 00

    Le code postal : 00 000

    Le nom : to be name

    Le nom du groupe : group.

    Pour cela, j'ai crée trois classes (contact, groupe et main)

    voici le contenu de chacunes d'elle :

    La classe contact :

    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    public class Contact {
     
        // Informations du contact
     
        private String nom;
        private String prenom;
        private int datedenaissance;
        private String adressemail;
        private String adressepostal;
        private int codepostal;
        private String ville;
        private int telephone;
     
        //Constructeur par paramètres
        public Contact(String nom, String prenom, DATE datedenaissance, String adressemail, String adressepostal, int codepostal, String ville, int telephone)
     
            {
     
        //Initialisation des attributs
            //TODO
            this.nom = nom;
            this.prenom = prenom;
            this.datedenaissance = string;
            this.adressemail = adressemail;
            this.adressepostal = adressepostal;
            this.codepostal = string2;
            this.ville = ville;
            this.telephone = string3;
        }
     
        private void setadressepostal(String adressepostal2) {
            // TODO Auto-generated method stub
     
        }
     
        //Pour récupérer le nom
     
     
        public String getNom() {
            return nom;
        }
     
        //pour modifier le nom
     
        public void setNom(String nom) {
                this.nom = nom;
            }
     
        //Pour récupérer le prenom
     
        public String getPrenom() {
            return prenom;
        }
     
        //pour modifier le prenom
     
        public void setPrenom(String prenom) {
                    this.prenom = prenom;
                }
     
        //Pour récupérer la date de naissance
     
        public int getDateDeNaissance() {
            return datedenaissance;
        }
     
        //pour modifier la date de naissance
     
        public void setDateDeNaissance(int datedenaissance) {
                    this.datedenaissance = datedenaissance;
                }
     
        //Pour récupérer l'adresse mail
     
        public String getAdressemail() {
            return adressemail;
     
        }
     
        //pour modifier l'adresse mail
     
        public void setAdressemail(String adressemail) {
                    this.adressemail = adressemail;
                }
     
        //Pour récupérer le code postal
     
        public int getCodepostal() {
            return codepostal;
        }
     
        //pour modifier le code postal
     
        public void setCodepostal(int codepostal) {
                    this.codepostal = codepostal;
                }
     
        //Pour récupérer la ville
     
        public String getVille() {
        return ville;
     
        }
     
        //pour modifier la ville
     
        public void setVille(String ville) {
                this.ville = ville;
            }
        //Pour récupérer le téléphone
     
        public int getTelephone() {
        return telephone;
        }
     
        //pour modifier le téléphone
     
        public void setTelephone(int telephone) {
                this.telephone = telephone;
            }
     
        //Affiche la chaine de caractère qui décrit l'objet
     
        public String toString()
        {
            return  "nom : " + nom + "\n" +
                    "prenom : " + prenom + "\n" +
                    "datedenaissance : " + datedenaissance + "\n" +
                    "adressemail : " + adressemail + "\n" +
                    "adressepostal : " + adressepostal + "\n" +
                    "codepostal : " + codepostal + "\n" +
                    "ville : " + ville + "\n" +
                    "telephone : " + telephone + "\n" ;
        }
     
        //Création d'un contact
     
        public void ajouterContact(Contact c){
            //TODO
        }
     
        }
    la classe groupe :

    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    public class Groupe {
     
        // Informations du groupe
     
        private String nomdugroupe;
        private String listedecontact;
        private String descriptiondugroupe;
     
     
     
    public Groupe(String nomdugroupe, String listedecontact, String descriptiondugroupe)
     
            {
     
            //Initialisation des attributs
     
            this.setnomdugroupe(nomdugroupe);
            this.setlistedecontact(listedecontact);
            this.setdescriptiondugroupe(descriptiondugroupe);
     
        }
     
     
    //Pour récupérer le nom du groupe
     
       public String getnomdugroupe() {
        return nomdugroupe;
    }
     
    //pour modifier le nom du groupe
     
       public void setnomdugroupe(String nomdugroupe) {
            this.nomdugroupe = nomdugroupe;
        }
     
    //Pour récupérer la liste de contact
     
       public String listedecontact() {
           return listedecontact;
       }
     
    //Pour modifier la liste de contact
     
       public void setlistedecontact(String listedecontact)    {
       this.listedecontact = listedecontact;
       }
     
    //Pour récupérer la descriptiondugroupe
     
       public String descriptiondugroupe() {
           return descriptiondugroupe;
       }
     
    //Pour modifier la descriptiondugroupe
     
       public void setdescriptiondugroupe(String descriptiondugroupe)   {
       this.descriptiondugroupe = descriptiondugroupe;
       }
     
        //Affiche la chaine de caractère qui décrit l'objet
     
        public String toString()
        {
            return  "nomdugroupe : " + nomdugroupe + "\n" +
                    "listedecontact : " + listedecontact + "\n" +
                    "descriptiondugroupe : " + descriptiondugroupe + "\n"  ;
     
        }
    }
    et la classe main :

    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
    public class Main {
     
        public static void main(String[] args) {
     
     
     
            Contact c1 = new Contact ("Pierre", "Defrance", "16/06/1994", "open@hotmail.fr", "6 rue de paris", "75000", "Paris", "0600000000");
            c1.lancer 
     
            Groupe Contact g = new Groupe("Mon Groupe");
     
            g.ajouterContact(c1);
            supprimerContact(c1);
            modifierContact(c1);
     
        }
     
        private static void supprimerContact(Contact c1) {
            // TODO Auto-generated method stub
     
        }
     
        private static void modifierContact(Contact c1) {
            // TODO Auto-generated method stub
     
        }
    }
    Malheureusement je n'obtiens pas ce que je souhaite quand je compile mon code. J'ai des erreurs de compilation dans ma classe main au niveau du constructeur. J'obtiens le message d'erreur suivant :

    The constructor Contact(String, String, DATE, String, String, int, String, int) refers to the missing type DATE

    Et quand je lance "par force" mon programme, il m'envois le formulaire pour rentrer les champs d'un contact en premier alors que je voudrais qu'il commence par lancer le menu des choix (que voulez vous faire ? ajouter, modifier, supprimer un contact ? un groupe?) et ensuite j'aimerais pouvoir exécuter mes choix ..

    Quelqu'un pour m'aider svp ??

    d'avance merci

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Citation Envoyé par programC Voir le message
    Malheureusement je n'obtiens pas ce que je souhaite quand je compile mon code. J'ai des erreurs de compilation dans ma classe main au niveau du constructeur. J'obtiens le message d'erreur suivant :

    The constructor Contact(String, String, DATE, String, String, int, String, int) refers to the missing type DATE
    C'est tout simplement parce que le type DATE n'existe pas. Il y a le type Date (java.util.Date), et, mieux, le type LocalDate en Java 8 (java.time.LocalDate).

    Accessoirement, tu déclares l'attribut de stockage de la date de naissance en int :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private int datedenaissance;
    Tu ne risques pas de pouvoir stocker un Date ou un LocalDate dedans (sans faire une conversion - pourquoi ?).

    Enfin, tu passes une String (un troisième type différent) pour l'instanciation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Contact c1 = new Contact ("Pierre", "Defrance", "16/06/1994", "open@hotmail.fr", "6 rue de paris", "75000", "Paris", "0600000000");
    Il n'y a pas de conversion automatique entre String et Date, ou LocalDate. Mais tu peux faire une conversion de String vers Date, en utilisant un DateFormat/SimpleDateFormat.

    Donc je résume :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public class Contact {
        private static final DateFormat DATE_FORMAT = new SimpleDateFormat("dd/MM/yyyy");
        /* ... */
        private Date dateNaissance;
        /* ... */
        public Contact(/* ... */Date dateNaissance/* ... */) {
            /* ... */
            this.dateNaissance = dateNaissance;
            /* ... */
        }
        public Contact(/* ... */String dateNaissance/* ... */)  throws ParseException {
              this(/* ... */DATE_FORMAT.parse(dateNaissance)/* ... */);
        }
    }
    Ce qui te permettra d'écrire :
    [code]Contact contact = new Contact(/* ... */"16/06/1994"/* ... */);

    En Java 8, tu pourras faire comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public class Contact {
        private static final DateTimeFormatter DATE_FORMAT = DateTimeFormatter.ofPattern("dd/MM/yyyy");
        /* ... */
        private LocalDate dateNaissance;
        /* ... */
        public Contact(/* ... */LocalDate dateNaissance/* ... */) {
            /* ... */
            this.dateNaissance = dateNaissance;
            /* ... */
        }
        public Contact(/* ... */String dateNaissance/* ... */)  throws ParseException {
              this(/* ... */LocalDate.parse(dateNaissance, DATE_FORMAT)/* ... */);
        }
    }
    Ce qui te permettra d'écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Contact contact = new Contact(/* ... */"16/06/1994"/* ... */);
    Mais aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Contact contact = new Contact(/* ... */LocalDate.of(1994, Month.JUNE, 16)/* ... */);
    Ou, si tu préfères :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Contact contact = new Contact(/* ... */LocalDate.of(1994, 6, 16)/* ... */);
    Citation Envoyé par programC Voir le message
    Et quand je lance "par force" mon programme, il m'envois le formulaire pour rentrer les champs d'un contact en premier alors que je voudrais qu'il commence par lancer le menu des choix (que voulez vous faire ? ajouter, modifier, supprimer un contact ? un groupe?) et ensuite j'aimerais pouvoir exécuter mes choix ..

    Quelqu'un pour m'aider svp ??
    Là, ça dépend comment tu veux afficher ces choix. Par menus déroulants, comme tu peux voir dans tes applications habituelles, ou sous forme d'une simple fenêtre avec des boutons, ou est-ce que tu affiches des listes de groupes et de contacts (ou des arbres) et tu as des boutons à côté, ou dans des toolbars. Cela dépend également du type d'interface graphique (il y en a plusieurs sous Java), mais on va partir sur la plus classique : Swing. Je te conseille de regarder les tutoriaux (http://baptiste-wicht.developpez.com...rtie2.php)pour savoir comment construire ses formulaires, ses fenêtres, etc. Ensuite, pour des menus déroulants regarde plus particulièrement les classes JMenu et JMenuItem, et pour des boutons JButton.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Bonjour,
    merci pour ta réponse. J'ai corrigé mon code mais cette fois ci j'obtiens le message d'erreur suivant :
    -> Type mismatch: cannot convert from Date to int

    voici ma classe contact :

    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    import java.util.Date;
     
     
    public class Contact {
     
    	// Informations du contact
     
    	private String nom;
    	private String prenom;
    	private int datedenaissance;
    	private String adressemail;
    	private String adressepostal;
    	private int codepostal;
    	private String ville;
    	private int telephone;
     
    	//Constructeur par paramètres
    	public Contact(String nom, String prenom, Date datedenaissance,String adressemail, String adressepostal, int codepostal, String ville, int telephone)
     
    		{
     
    	//Initialisation des attributs
    		//TODO
    		this.nom = nom;
    		this.prenom = prenom;
    		this.datedenaissance = datedenaissance;
    		this.adressemail = adressemail;
    		this.adressepostal = adressepostal;
    		this.codepostal = codepostal;
    		this.ville = ville;
    		this.telephone = telephone;
    	}
     
    	//Pour récupérer le nom
     
     
    	public String getNom() {
    		return nom;
    	}
     
    	//pour modifier le nom
     
    	public void setNom(String nom) {
    			this.nom = nom;
    		}
     
    	//Pour récupérer le prenom
     
    	public String getPrenom() {
    		return prenom;
    	}
     
    	//pour modifier le prenom
     
    	public void setPrenom(String prenom) {
    				this.prenom = prenom;
    			}
     
    	//Pour récupérer la date de naissance
     
    	public int getDateDeNaissance() {
    		return datedenaissance;
    	}
     
    	//pour modifier la date de naissance
     
    	public void setDateDeNaissance(int datedenaissance) {
    				this.datedenaissance = datedenaissance;
    			}
     
    	//Pour récupérer l'adresse mail
     
    	public String getAdressemail() {
    		return adressemail;
     
    	}
     
    	//pour modifier l'adresse mail
     
    	public void setAdressemail(String adressemail) {
    				this.adressemail = adressemail;
    			}
     
    	//Pour récupérer le code postal
     
    	public int getCodepostal() {
    		return codepostal;
    	}
     
    	//pour modifier le code postal
     
    	public void setCodepostal(int codepostal) {
    				this.codepostal = codepostal;
    			}
     
    	//Pour récupérer la ville
     
    	public String getVille() {
    	return ville;
     
    	}
     
        //pour modifier la ville
     
    	public void setVille(String ville) {
    			this.ville = ville;
    		}
    	//Pour récupérer le téléphone
     
    	public int getTelephone() {
    	return telephone;
    	}
     
    	//pour modifier le téléphone
     
    	public void setTelephone(int telephone) {
    			this.telephone = telephone;
    		}
     
    	//Affiche la chaine de caractère qui décrit l'objet
     
    	public String toString()
    	{
    		return  "nom : " + nom + "\n" +
    				"prenom : " + prenom + "\n" +
    				"datedenaissance : " + datedenaissance + "\n" +
    		        "adressemail : " + adressemail + "\n" +
    		        "adressepostal : " + adressepostal + "\n" +
    		        "codepostal : " + codepostal + "\n" +
    		        "ville : " + ville + "\n" +
    		        "telephone : " + telephone + "\n" ;
    	}
     
    	//Création d'un contact
     
    	public void ajouterContact(Contact c){
    		//TODO
    	}
     
    	}


    et ma classe main me donne aussi une erreur de compilation qui est la suivante :

    The constructor Contact(String, String, String, String, String, String, String, String) is undefined

    voici le 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
    public class Main {
     
        public static void main(String[] args) {
     
     
     
            Contact c1 = new Contact ("Pierre", "Defrance", "16/06/1994", "***@***", "6 rue de Paris", "75000", "Paris", "0600000000");
            c1.lancer
     
            Groupe Contact g = new Groupe("Mon Groupe");
     
            g.ajouterContact(c1);
            supprimerContact(c1);
            modifierContact(c1);
     
        }
     
        private static void supprimerContact(Contact c1) {
            // TODO Auto-generated method stub
     
        }
     
        private static void modifierContact(Contact c1) {
            // TODO Auto-generated method stub
     
        }
    }

  4. #4
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    Bonjour,

    Normalement, le compilateur doit te donnée en plus de l'erreur la classe lié et la ligne correspondante.
    Logiquement tu dois vouloir affecté un objet de type Date dans une variable de type int. Ce qui devrait se voir assez facilement en cherchant à la ligne donnée par le compilateur.

    Note : Il est préférable d'utiliser la balise code pour donnée tes classes à la place de la balise quote.

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Bonjour,
    il s'agit de la ligne 26 pour Type mismatch: cannot convert from Date to int

    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    import java.util.Date;
     
     
    public class Contact {
     
    	// Informations du contact
     
    	private String nom;
    	private String prenom;
    	private int datedenaissance;
    	private String adressemail;
    	private String adressepostal;
    	private int codepostal;
    	private String ville;
    	private int telephone;
     
    	//Constructeur par paramètres
    	public Contact(String nom, String prenom, Date datedenaissance,String adressemail, String adressepostal, int codepostal, String ville, int telephone)
     
    		{
     
    	//Initialisation des attributs
    		//TODO
    		this.nom = nom;
    		this.prenom = prenom;
    		this.datedenaissance = datedenaissance;
    		this.adressemail = adressemail;
    		this.adressepostal = adressepostal;
    		this.codepostal = codepostal;
    		this.ville = ville;
    		this.telephone = telephone;
    	}
     
    	//Pour récupérer le nom
     
     
    	public String getNom() {
    		return nom;
    	}
     
    	//pour modifier le nom
     
    	public void setNom(String nom) {
    			this.nom = nom;
    		}
     
    	//Pour récupérer le prenom
     
    	public String getPrenom() {
    		return prenom;
    	}
     
    	//pour modifier le prenom
     
    	public void setPrenom(String prenom) {
    				this.prenom = prenom;
    			}
     
    	//Pour récupérer la date de naissance
     
    	public int getDateDeNaissance() {
    		return datedenaissance;
    	}
     
    	//pour modifier la date de naissance
     
    	public void setDateDeNaissance(int datedenaissance) {
    				this.datedenaissance = datedenaissance;
    			}
     
    	//Pour récupérer l'adresse mail
     
    	public String getAdressemail() {
    		return adressemail;
     
    	}
     
    	//pour modifier l'adresse mail
     
    	public void setAdressemail(String adressemail) {
    				this.adressemail = adressemail;
    			}
     
    	//Pour récupérer le code postal
     
    	public int getCodepostal() {
    		return codepostal;
    	}
     
    	//pour modifier le code postal
     
    	public void setCodepostal(int codepostal) {
    				this.codepostal = codepostal;
    			}
     
    	//Pour récupérer la ville
     
    	public String getVille() {
    	return ville;
     
    	}
     
        //pour modifier la ville
     
    	public void setVille(String ville) {
    			this.ville = ville;
    		}
    	//Pour récupérer le téléphone
     
    	public int getTelephone() {
    	return telephone;
    	}
     
    	//pour modifier le téléphone
     
    	public void setTelephone(int telephone) {
    			this.telephone = telephone;
    		}
     
    	//Affiche la chaine de caractère qui décrit l'objet
     
    	public String toString()
    	{
    		return  "nom : " + nom + "\n" +
    				"prenom : " + prenom + "\n" +
    				"datedenaissance : " + datedenaissance + "\n" +
    		        "adressemail : " + adressemail + "\n" +
    		        "adressepostal : " + adressepostal + "\n" +
    		        "codepostal : " + codepostal + "\n" +
    		        "ville : " + ville + "\n" +
    		        "telephone : " + telephone + "\n" ;
    	}
     
    	//Création d'un contact
     
    	public void ajouterContact(Contact c){
    		//TODO
    	}
     
    	}
    et de la ligne 7 pour la classe main qui renvoie The constructor Contact(String, String, String, String, String, String, String, String) is undefined

    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
    public class Main {
     
    public static void main(String[] args) {
     
     
     
    Contact c1 = new Contact ("Pierre", "Defrance", "16/06/1994", "***@***", "6 rue de Paris", "75000", "Paris", "0600000000");
    c1.lancer
     
    Groupe Contact g = new Groupe("Mon Groupe");
     
    g.ajouterContact(c1);
    supprimerContact(c1);
    modifierContact(c1);
     
    }
     
    private static void supprimerContact(Contact c1) {
    // TODO Auto-generated method stub
     
    }
     
    private static void modifierContact(Contact c1) {
    // TODO Auto-generated method stub
     
    }
    }
    merci

  6. #6
    Membre chevronné
    Avatar de eulbobo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2003
    Messages : 786
    Points : 1 993
    Points
    1 993
    Par défaut
    C'est normal.

    Tu as dans tes variables
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    private int datedenaissance;
    et dans ton constructeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    	public Contact(String nom, String prenom, Date datedenaissance,String adressemail, String adressepostal, int codepostal, String ville, int telephone) {
                    ....
    		this.datedenaissance = datedenaissance;  
    		...
    Tu prends un champ de type Date que tu essayes de mettre dans une variable de type int, donc forcément tu te fais insulter !
    Change la déclaration de tes variables pour qu'elles collent au type qui leur correspond !


    Pour le deuxième problème, c'est la même chose, mais dans l'autre sens
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Contact c1 = new Contact ("Pierre", "Defrance", "16/06/1994", "***@***", "6 rue de Paris", "75000", "Paris", "0600000000");
    Ta date de naissance, c'est un champ de type Date. Or là, tu passes une chaîne de caractère (donc String).
    Le compilateur te dis qu'il ne trouve pas de constructeur avec uniquement des chaines de caractères. Change ton instanciation de c1 pour passer le bon paramètre au niveau de la date : une variable de type Date !
    Je ne suis pas mort, j'ai du travail !

  7. #7
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Quand j'ai écrit :
    Citation Envoyé par joel.drigo Voir le message
    Accessoirement, tu déclares l'attribut de stockage de la date de naissance en int :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private int datedenaissance;
    Tu ne risques pas de pouvoir stocker un Date ou un LocalDate dedans (sans faire une conversion - pourquoi ?).
    cela impliquait que tu avais quelque chose à changer quelque part, en l’occurrence le type de l'attribut datedenaissance logiquement (ou faire une conversion Date vers int, si ça te chante).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    j'ai changé mon code et ma classe contact ne me pose plus aucun soucis =)
    en revanche, ma classe main a toujours le même problème et je ne sais pas comment le règler (j'ai pourtant changer le type des getters/setters dans la classe contact)

    voici les classes :
    contact :
    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    import java.util.Date;
    
    
    public class Contact {
    	
    	// Informations du contact
    		
    	private String nom;
    	private String prenom;
    	private Date datedenaissance;
    	private String adressemail;
    	private String adressepostal;
    	private int codepostal;
    	private String ville;
    	private int telephone;
    		
    	//Constructeur par paramètres
    	public Contact(String nom, String prenom, Date datedenaissance,String adressemail, String adressepostal, int codepostal, String ville, int telephone)
    	
    		{
    		
    	//Initialisation des attributs
    		//TODO
    		this.nom = nom;
    		this.prenom = prenom;
    		this.datedenaissance = datedenaissance;
    		this.adressemail = adressemail;
    		this.adressepostal = adressepostal;
    		this.codepostal = codepostal;
    		this.ville = ville;
    		this.telephone = telephone;
    	}
    
    	//Pour récupérer le nom
    
    
    	public String getNom() {
    		return nom;
    	}
    	
    	//pour modifier le nom
    		
    	public void setNom(String nom) {
    			this.nom = nom;
    		}
    		
    	//Pour récupérer le prenom
    		
    	public String getPrenom() {
    		return prenom;
    	}
    		
    	//pour modifier le prenom
    		
    	public void setPrenom(String prenom) {
    				this.prenom = prenom;
    			}
    		
    	//Pour récupérer la date de naissance
    	
    	public Date getDateDeNaissance() {
    		return datedenaissance;
    	}
    	
    	//pour modifier la date de naissance
    		
    	public void setDateDeNaissance(Date datedenaissance) {
    				this.datedenaissance = datedenaissance;
    			}
    		
    	//Pour récupérer l'adresse mail
    		
    	public String getAdressemail() {
    		return adressemail;
    		
    	}
    	
    	//pour modifier l'adresse mail
    		
    	public void setAdressemail(String adressemail) {
    				this.adressemail = adressemail;
    			}
    		
    	//Pour récupérer le code postal
    		
    	public int getCodepostal() {
    		return codepostal;
    	}
    	
    	//pour modifier le code postal
    		
    	public void setCodepostal(int codepostal) {
    				this.codepostal = codepostal;
    			}
    		
    	//Pour récupérer la ville
    		
    	public String getVille() {
    	return ville;
    	
    	}
    	
        //pour modifier la ville
    	
    	public void setVille(String ville) {
    			this.ville = ville;
    		}
    	//Pour récupérer le téléphone
    	
    	public int getTelephone() {
    	return telephone;
    	}
    	
    	//pour modifier le téléphone
    	
    	public void setTelephone(int telephone) {
    			this.telephone = telephone;
    		}
    	
    	//Affiche la chaine de caractère qui décrit l'objet
    	
    	public String toString()
    	{
    		return  "nom : " + nom + "\n" +
    				"prenom : " + prenom + "\n" +
    				"datedenaissance : " + datedenaissance + "\n" +
    		        "adressemail : " + adressemail + "\n" +
    		        "adressepostal : " + adressepostal + "\n" +
    		        "codepostal : " + codepostal + "\n" +
    		        "ville : " + ville + "\n" +
    		        "telephone : " + telephone + "\n" ;
    	}
    	
    	//Création d'un contact
    	
    	public void ajouterContact(Contact c){
    		//TODO
    	}
    	
    	}
    et voici la classe main qui me dit cette fois : The constructor Contact(String, String, int, String, String, int, String, int) is undefined à la ligne 8
    et c1 cannot be resolved to a type à la ligne 9
    et enfin Multiple markers at this line
    - Syntax error, insert ";" to complete
    LocalVariableDeclarationStatement
    - The constructor Groupe(String) is undefined à la ligne 11


    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
     
    public class Main {
     
    	public static void main(String[] args) {
     
     
     
    		Contact c1 = new Contact ("Pierre", "Defrance", 16/06/1994, "pierre@hotmail.fr", "6 rue de Paris", 75000, "Paris", 0600000000);
    		c1.lancer 
     
    		Groupe Contact g = new Groupe("Mon Groupe");
     
    		g.ajouterContact(c1);
    		supprimerContact(c1);
    		modifierContact(c1);
     
    	}
     
    	private static void supprimerContact(Contact c1) {
    		// TODO Auto-generated method stub
     
    	}
     
    	private static void modifierContact(Contact c1) {
    		// TODO Auto-generated method stub
     
    	}
    }
    merci

  9. #9
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par programC Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    /* ... */	
    		Contact c1 = new Contact ("Pierre", "Defrance", 16/06/1994, "pierre@hotmail.fr", "6 rue de Paris", 75000, "Paris", 0600000000);
    /* ... /*
    Où est-ce que tu as vu qu'on pouvait mettre une date en plein milieu d'un code Java ?

    Citation Envoyé par programC Voir le message
    en revanche, ma classe main a toujours le même problème et je ne sais pas comment le règler (j'ai pourtant changer le type des getters/setters dans la classe contact)
    Il suffit que tu lises mon message, et que tu appliques la solution que je t'ai donnée (comme tu as utilisé le type java.util.Date, celle avec SimpleDateFormat, en passant une String)
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    J'ai règlé le soucis de la date donc plus d'erreur de ce côté la merci
    Par contre il me reste encore deux erreurs avant de pouvoir lancer la compilation :

    Multiple markers at this line
    - The constructor Groupe(String) is undefined
    - g cannot be resolved to a variable
    - Syntax error, insert ";" to complete (ligne 13)

    et

    Multiple markers at this line
    - Line breakpoint:Main [line: 15] -
    main(String[]) (ligne 15)


    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
    import java.util.Date;
     
    public class Main {
     
    	public static void main(String[] args) {
     
     
    		Date dateDeNaissance = new Date(1994,06,16);
    		Contact c1 = new Contact ("Pierre", "Defrance", dateDeNaissance, "pierre@hotmail.fr", "6 avenue de Paris", 59000, "Lille", 0600000000);
    		Contact c2 = new Contact ("Sophie", "Dupont", dateDeNaissance, "sophie@hotmail.fr", "6 rue de bretagne", 75000, "Paris", 0600000000);
    		Contact c3 = new Contact ("Antoine", "Ducamp", dateDeNaissance, "antoine@hotmail.fr", "6 rue de valenciennes", 59300, "Valenciennes", 0600000000);		
     
    		Groupe Contact g = new Groupe("Mon Groupe");
     
    		g.ajouterContact(c1);
    		supprimerContact(c1);
    		modifierContact(c1);
     
    	}
     
    	private static void supprimerContact(Contact c1) {
    		// TODO Auto-generated method stub
     
    	}
     
    	private static void modifierContact(Contact c1) {
    		// TODO Auto-generated method stub
     
    	}
    }

  11. #11
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    1) Le constructeur de Groupe est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public Groupe(String nomdugroupe, String listedecontact, String descriptiondugroupe) {
    Trois arguments donc.

    Tu l'instancies comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new Groupe("Mon Groupe");
    En passant donc 1 seul argument. Il n'y a rien qui t'interpelle là ?

    2)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Groupe Contact g = new Groupe("Mon Groupe");
    g c'est du Groupe ou du Contact, faudrait savoir ! "Contact" n'a rien à faire là bien sûr.

    3) Je t'ai demandé de relire mon message. Si tu y as vu que j'instanciais un java.util.Date comme çà new Date(1994,06,16);, il y a un problème quelque part... mauvaise vue ou hallucinations ? Si je n'ai pas utilisé cette syntaxe, ce n'est pas peut-être pas pour rien :

    Date(int year, int month, int date)
    Deprecated.
    As of JDK version 1.1, replaced by Calendar.set(year + 1900, month, date) or GregorianCalendar(year + 1900, month, date).
    Et si malgré tout, on l'utilise quand même, on regarde au moins la doc :
    Parameters:
    year - the year minus 1900.
    month - the month between 0-11.
    date - the day of the month between 1-31.
    4) new Date(1994,06,16);ici, mis à part que c'est le moi de juillet et pas juin, ça fonctionne, parce que 6 en octal vaut 6 en décimal, mais attention quand tu fais démarrer un nombre entier par 0, (011 ne vaut pas 11, mais 9)
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Avant de poursuivre je tiens à te rappeler que je n'ai JAMAIS fais de JAVA de ma vie auparavant.
    je débute donc merci de rester indulgent ..

    1) et 2) J'ai corrigé la classe :

    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
    import java.util.Date;
     
    public class Main {
     
    	public static void main(String[] args) {
     
     
    		Date dateDeNaissance = new Date(1994,06,16);
    		Contact c1 = new Contact ("Pierre", "Defrance", dateDeNaissance, "pierre@hotmail.fr", "6 avenue de Paris", 59000, "Lille", 0600000000);
    		Contact c2 = new Contact ("Sophie", "Dupont", dateDeNaissance, "sophie@hotmail.fr", "6 rue de bretagne", 75000, "Paris", 0600000000);
    		Contact c3 = new Contact ("Antoine", "Ducamp", dateDeNaissance, "antoine@hotmail.fr", "6 rue de valenciennes", 59300, "Valenciennes", 0600000000);	
     
    		Groupe g = new Groupe("nomdugroupe","listedecontact","descriptiondugroupe");
     
    		g.ajouterContact(c1);
    		supprimerContact(c1);
    		modifierContact(c1);
     
    	}
     
    	private static void supprimerContact(Contact c1) {
    		// TODO Auto-generated method stub
     
    	}
     
    	private static void modifierContact(Contact c1) {
    		// TODO Auto-generated method stub
     
    	}
    }
    3) et 4) désolé mais je ne comprends pas le soucis avec la date ..

    Il me reste donc une dernière erreur de compilation à la ligne 15 :

    Multiple markers at this line
    - Line breakpoint:Main [line: 15] - main(String[])
    - The method ajouterContact(Contact) is undefined for the type

    mais cette partie ne devrait pas être dans la classe "contact" ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    		g.ajouterContact(c1);
    		supprimerContact(c1);
    		modifierContact(c1);
     
    	}

  13. #13
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par programC Voir le message
    3) et 4) désolé mais je ne comprends pas le soucis avec la date ..
    La documentation (à laquelle il faut toujours se référer lorsqu'on on utilise une classe, ou on appelle une méthode, ou un constructeur) dit que

    1. le constructeur avec année, mois, jour est déprécié depuis la version java 1.1 (genre depuis dans les 20 ans environ), donc qu'il ne faut plus l'utiliser, et indique ce qu'il faudrait utiliser à la place.
    2. que la valeur du paramètre année doit être l'année - 1900 (donc pour 1994, la valeur doit être 94)
    3. que la valeur du mois va de 0 à 11 (donc le mois de janvier c'est , le mois de février 1...donc le mois de juin c'est 5


    Pour le point 4, je te dis qu'il faut éviter d'écrire les litéraux de type int en les faisant commencer par 0, parce qu'il s'agit d'une syntaxe qui permet de valuer le nombre en octal, pas en décimal. Donc pour éviter les mauvaises surprises à l'avenir (genre que tu ne comprennes pas pourquoi tu ne peux pas mettre 08 ou 09 comme mois), autant oublier cette syntaxe qui ne te servira jamais à rien en programmation et te causera plus d'ennui qu'autre chose (je dis pas en calcul mental ou pour compter à une main, mais c'est une autre histoire, mais personnellement, depuis 1984, année où j'ai commencé à bidouiller en informatique, je n'ai jamais au grand jamais utilisé de l'octal dans aucun de mes programmes (ni en informatique, ni en automatique, ni en commande numérique, ni même sur les trucs les plus ésotériques qu'il m'ait été donné de programmer).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  14. #14
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par programC Voir le message
    Multiple markers at this line
    - Line breakpoint:Main [line: 15] - main(String[])
    - The method ajouterContact(Contact) is undefined for the type
    On te dit que tu essayes d'appeler une méthode ajouterContac() à une instance de classe Groupe (en fait, tu as perdu cette partie dans ton copier/coller : attention à tous les détails dans les messages d'erreur). Normal, cette méthode n'existe pas.

    Citation Envoyé par programC Voir le message
    mais cette partie ne devrait pas être dans la classe "contact" ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    		g.ajouterContact(c1);
    		supprimerContact(c1);
    		modifierContact(c1);
     
    	}
    a priori, je déduis du nom de ces méthodes qu'il s'agit d'ajouter un contact à un groupe, de retirer un contact d'un groupe, et de modifier un contact qu'on a ajouté préalablement à un groupe (et qu'on a pas retiré, à priori).

    Donc, en tout logique, ces méthodes méthodes devrait être dans la classe Groupe, pas Contact. Pour ce qui est de la première, elle est nulle part, et les deux dernières ont été mises, sans code, dans la classe main(), par "quick fix" si j'en juge par le commentaire // TODO Auto-generated method stub. Lorsqu'un IDE te signale une erreur, c'est qu'il ne comprend pas ce que tu as écrit parce que ça ne correspond pas à une syntaxe stricte et rigoureuse (ici appel d'une méthode qui n'existe pas) : il cherche à aider avec des "quick fix" qui règle les cas communs et simples, mais sans aucune espèce d'intelligence derrière : l'IDE sera jamais capable de voir le lien sémantique avec la notion de contacts et de groupes de contacts. Quand on te signale une erreur, n'applique pas le "quick fix", avant de t'être posé toutes les questions du type "pourquoi me signale-t-on une erreur ici ?" : "j'appelle une méthode, et on me dit qu'elle n'existe pas, pourtant je suis sûr qu'elle devrait" : dans ce cas, le premier réflexe est de se dire, "devrait-elle être là vraiment, ou ne devrait-elle pas être ailleurs ? Un contact doit appartenir à un groupe, donc pour qu'un groupe puisse contenir des contacts, je dois pouvoir ajouter des contacts dans le groupe, donc la méthode d'ajout de contact à un groupe devrait être dans la classe Groupe, et certainement pas dans une classe qui ne sert qu'à lancer un programme (Main).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  15. #15
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    j'ai corrigé mes codes. Maintenant j'aimerais ajouter des contacts dans un groupe. Je pense que je dois pour cela coder dans la classe "groupe" ..
    Voici où j'en suis actuellement dans mes classes.

    La classe contact :

    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    import java.util.Date;
     
     
    public class Contact {
     
    	// Informations du contact
     
    	private String nom;
    	private String prenom;
    	private Date datedenaissance;
    	private String adressemail;
    	private String adressepostal;
    	private int codepostal;
    	private String ville;
    	private int telephone;
     
    	//Constructeur par paramètres
    	public Contact(String nom, String prenom, Date datedenaissance,String adressemail, String adressepostal, int codepostal, String ville, int telephone)
     
    		{
     
    	//Initialisation des attributs
    		//TODO
    		this.nom = nom;
    		this.prenom = prenom;
    		this.datedenaissance = datedenaissance;
    		this.adressemail = adressemail;
    		this.adressepostal = adressepostal;
    		this.codepostal = codepostal;
    		this.ville = ville;
    		this.telephone = telephone;
    	}
     
    	//Pour récupérer le nom
     
     
    	public String getNom() {
    		return nom;
    	}
     
    	//pour modifier le nom
     
    	public void setNom(String nom) {
    			this.nom = nom;
    		}
     
    	//Pour récupérer le prenom
     
    	public String getPrenom() {
    		return prenom;
    	}
     
    	//pour modifier le prenom
     
    	public void setPrenom(String prenom) {
    				this.prenom = prenom;
    			}
     
    	//Pour récupérer la date de naissance
     
    	public Date getDateDeNaissance() {
    		return datedenaissance;
    	}
     
    	//pour modifier la date de naissance
     
    	public void setDateDeNaissance(Date datedenaissance) {
    				this.datedenaissance = datedenaissance;
    			}
     
    	//Pour récupérer l'adresse mail
     
    	public String getAdressemail() {
    		return adressemail;
     
    	}
     
    	//pour modifier l'adresse mail
     
    	public void setAdressemail(String adressemail) {
    				this.adressemail = adressemail;
    			}
     
    	//Pour récupérer le code postal
     
    	public int getCodepostal() {
    		return codepostal;
    	}
     
    	//pour modifier le code postal
     
    	public void setCodepostal(int codepostal) {
    				this.codepostal = codepostal;
    			}
     
    	//Pour récupérer la ville
     
    	public String getVille() {
    	return ville;
     
    	}
     
        //pour modifier la ville
     
    	public void setVille(String ville) {
    			this.ville = ville;
    		}
    	//Pour récupérer le téléphone
     
    	public int getTelephone() {
    	return telephone;
    	}
     
    	//pour modifier le téléphone
     
    	public void setTelephone(int telephone) {
    			this.telephone = telephone;
    		}
     
    	//Affiche la chaine de caractère qui décrit l'objet
     
    	public String toString()
    	{
    		return  "nom : " + nom + "\n" +
    				"prenom : " + prenom + "\n" +
    				"datedenaissance : " + datedenaissance + "\n" +
    		        "adressemail : " + adressemail + "\n" +
    		        "adressepostal : " + adressepostal + "\n" +
    		        "codepostal : " + codepostal + "\n" +
    		        "ville : " + ville + "\n" +
    		        "telephone : " + telephone + "\n" ;
    	}
     
    	//Création d'un contact
     
    	public void ajouterContact(Contact c){
    		//TODO
    	}
     
    	}
    La classe groupe :

    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    import java.util.List;
     
     
    public class Groupe {
     
    	// Informations du groupe
     
    	private String nomdugroupe;
    	private String listedecontact;
    	private String descriptiondugroupe;
     
     
    public Groupe(String nomdugroupe, String string, String descriptiondugroupe)
     
    		{
     
    		//Initialisation des attributs
     
    		this.setnomdugroupe(nomdugroupe);
    		this.setlistedecontact(string);
    		this.setdescriptiondugroupe(descriptiondugroupe);
     
    	}
     
     
    //Pour récupérer le nom du groupe
     
       public String getnomdugroupe() {
    	return nomdugroupe;
    }
     
    //pour modifier le nom du groupe
     
       public void setnomdugroupe(String nomdugroupe) {
    		this.nomdugroupe = nomdugroupe;
    	}
     
    //Pour récupérer la liste de contact
     
       public String listedecontact() {
    	   return listedecontact;
       }
     
    //Pour modifier la liste de contact
     
       public void setlistedecontact(String listedecontact)    {
       this.listedecontact = listedecontact;
       }
     
    //Pour récupérer la descriptiondugroupe
     
       public String descriptiondugroupe() {
    	   return descriptiondugroupe;
       }
     
    //Pour modifier la descriptiondugroupe
     
       public void setdescriptiondugroupe(String descriptiondugroupe)   {
       this.descriptiondugroupe = descriptiondugroupe;
       }
     
    	//Affiche la chaine de caractère qui décrit l'objet
     
    	public String toString()
    	{
    		return  "nomdugroupe : " + nomdugroupe + "\n" +
    				"listedecontact : " + listedecontact + "\n" +
    				"descriptiondugroupe : " + descriptiondugroupe + "\n"  ;
     
    	}
    	public void ajouterContact(Contact c1) {
    		// TODO Auto-generated method stub
     
    	}
    }
    et la classe main :

    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
    import java.util.Date;
     
    public class Main {
     
    	public static void main(String[] args) {
     
     
    		Date dateDeNaissance = new Date(94,6,16);
    		Contact c1 = new Contact ("Pierre", "Defrance", dateDeNaissance, "pierre@hotmail.fr", "6 avenue de Paris", 59000, "Lille", 0600000000);
    		Contact c2 = new Contact ("Sophie", "Dupont", dateDeNaissance, "sophie@hotmail.fr", "6 rue de bretagne", 75000, "Paris", 0600000000);
    		Contact c3 = new Contact ("Antoine", "Ducamp", dateDeNaissance, "antoine@hotmail.fr", "6 rue de valenciennes", 59300, "Valenciennes", 0600000000);		
     
    		Groupe g = new Groupe("nomdugroupe","listedecontact","descriptiondugroupe");
     
    		g.ajouterContact(c1);
    		supprimerContact(c1);
    		modifierContact(c1);
     
    	}
     
    	private static void supprimerContact(Contact c1) {
    		// TODO Auto-generated method stub
     
    	}
     
    	private static void modifierContact(Contact c1) {
    		// TODO Auto-generated method stub
     
    	}
    }
    Je n'ai plus aucune erreur de compilation mais mon code ne se lance pas ..
    J'ai commencé à écrire le code suivant pour ajouter des contacts dans un groupe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     public void ajouterContact(Contact contact){
    //TODO
    }
    a priori, je déduis du nom de ces méthodes qu'il s'agit d'ajouter un contact à un groupe, de retirer un contact d'un groupe, et de modifier un contact qu'on a ajouté préalablement à un groupe (et qu'on a pas retiré, à priori).
    oui c'est ça mais pour l'instant juste ajouter des contacts à un groupe ça sera déjà très bien

    Donc, en tout logique, ces méthodes méthodes devrait être dans la classe Groupe, pas Contact. Pour ce qui est de la première, elle est nulle part, et les deux dernières ont été mises, sans code, dans la classe main(), par "quick fix" si j'en juge par le commentaire // TODO Auto-generated method stub. Lorsqu'un IDE te signale une erreur, c'est qu'il ne comprend pas ce que tu as écrit parce que ça ne correspond pas à une syntaxe stricte et rigoureuse (ici appel d'une méthode qui n'existe pas) : il cherche à aider avec des "quick fix" qui règle les cas communs et simples, mais sans aucune espèce d'intelligence derrière : l'IDE sera jamais capable de voir le lien sémantique avec la notion de contacts et de groupes de contacts. Quand on te signale une erreur, n'applique pas le "quick fix", avant de t'être posé toutes les questions du type "pourquoi me signale-t-on une erreur ici ?" : "j'appelle une méthode, et on me dit qu'elle n'existe pas, pourtant je suis sûr qu'elle devrait" : dans ce cas, le premier réflexe est de se dire, "devrait-elle être là vraiment, ou ne devrait-elle pas être ailleurs ? Un contact doit appartenir à un groupe, donc pour qu'un groupe puisse contenir des contacts, je dois pouvoir ajouter des contacts dans le groupe, donc la méthode d'ajout de contact à un groupe devrait être dans la classe Groupe, et certainement pas dans une classe qui ne sert qu'à lancer un programme (Main).
    merci pour l'info sur L'IDE
    je écris le code dans la classe groupe mais je ne sais pas quoi mettre à l'intérieur à la place du TODO ..
    et pourquoi mon code ne se lance pas lors de la compilation ?

  16. #16
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Citation Envoyé par programC Voir le message
    et pourquoi mon code ne se lance pas lors de la compilation ?
    En fait, si, il se lance. Simplement, il ne fait rien qui ne soit visible (il n'affiche rien, ne créé pas de fichier, ou autre témoignage qu'il ait bien fonctionné). Ajoute à la fin de la méthode main un affichage pour vérifier qu'il tourne bien, par exemple :
    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
     
    public static void main(String[] args) {
     
     
    		Date dateDeNaissance = new Date(1994,06,16);
    		Contact c1 = new Contact ("Pierre", "Defrance", dateDeNaissance, "pierre@hotmail.fr", "6 avenue de Paris", 59000, "Lille", 0600000000);
    		Contact c2 = new Contact ("Sophie", "Dupont", dateDeNaissance, "sophie@hotmail.fr", "6 rue de bretagne", 75000, "Paris", 0600000000);
    		Contact c3 = new Contact ("Antoine", "Ducamp", dateDeNaissance, "antoine@hotmail.fr", "6 rue de valenciennes", 59300, "Valenciennes", 0600000000);		
     
    		Groupe g = new Groupe("nomdugroupe","listedecontact","descriptiondugroupe");
     
    		g.ajouterContact(c1);
    		supprimerContact(c1);
    		modifierContact(c1);
     
    		System.out.println("J'ai créé les contacts suivant : \n\n"+c1+"\n"+c2+"\n"+c3); // on affiche les trois contacts créés
     
    	}
    [EDIT]Tu constateras par ailleurs que comme tu continues d'utiliser le constructeur déprécié de Date, tes dates de naissances de tes contacts sont le 16 juillet 3894 !
    Et regarde les numéros de téléphone : qu'en dis-tu ? Pourquoi ça ne correspond pas à ce que tu pensais (La réponse est dans cette discussion !) ?

    Citation Envoyé par programC Voir le message
    je écris le code dans la classe groupe mais je ne sais pas quoi mettre à l'intérieur à la place du TODO ..
    Il va falloir que tu stockes les différents candidats du groupe dans une structure adaptée, une liste par exemple (le plus pratique pour le faire) : comme les contacts du groupe doivent être conservés tant que le groupe existe, il faut une variable de classe, de type List<Contact> donc, qu'on instancie de type ArrayList<Contact> par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public class Groupe {
     
         private final List<Contact> listeDeContacts = new ArrayList<>(); // la liste des contacts du groupe
    Il te reste plus qu'à coder la méthode ajouteContacts pour qu'elle ajoute le contact passé en paramètre dans cette liste. Pour ça, il ta faut connaitre les méthodes de l'interface List qui te le permettront :

    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

Discussions similaires

  1. Réponses: 7
    Dernier message: 06/11/2005, 10h00
  2. Server 2003 et partage de carnet d'adresse
    Par Yepazix dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 23/10/2005, 22h47
  3. Carnet d'adresses d'Outlook
    Par vciofolo dans le forum Access
    Réponses: 2
    Dernier message: 14/10/2005, 11h34
  4. Récupérer le carnet d'adresses de Outlook
    Par pc75 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 01/02/2005, 12h30

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