Carnet d'adresse en JAVA

Fermé
Anonymus59 - Modifié par Whismeril le 22/06/2015 à 06:49
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 22 juin 2015 à 19:23
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 :

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 :

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 :

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
         
    }
}


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 :)

A voir également:

1 réponse

Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
22 juin 2015 à 06:53
Bonjour, j'ai édité ton message pour corriger la coloration syntaxique, voir ici la précision du langage dans la coloration syntaxique.

Pour ton problème, je ne fait pas de java, mais le message dit que le type DATE n'existe pas. Les autres types que tu as utilisés s'écrivent avec une seule majuscule, tu devrais essayer Date.
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
22 juin 2015 à 08:01
Bonjour,

Et oui, dans les conventions de nommages les nom de classes sont en CamelCase, il n'y a que les constantes et enum qui seront tout en majuscules.

Donc ce sera bien le type
Date
, qu'il faudra toutefois importer avec
import java.util.Date;

Remarque : il faudra quand même être cohérent dans son utilisation parce que pour l'instant c'est un peu n'importe quoi, tu mélanges
private int datedenaissance;
DATE datedenaissance
et
this.datedenaissance = string;
!

À toutes fins utiles, de la documentation :
https://docs.oracle.com/javase/8/docs/api/java/util/Date.html
0
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 :

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 :

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
         
    }
}
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
22 juin 2015 à 19:23
Je te renvoie à ma remarque : "tu mélanges private int datedenaissance; DATE datedenaissance et this.datedenaissance = string;"

Si tu utilises un type Date c'est de bout en bout, dans ton main, dans ton constructeur et dans tes attributs.
Si tu changes de type en cours de route il faut faire explicitement les conversions.
0