Classe personne erreur comprend pas merci de m aider

djterrence Messages postés 19 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 16 avril 2006 - 12 avril 2006 à 23:05
djterrence Messages postés 19 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 16 avril 2006 - 13 avril 2006 à 20:54
Bon je vais y aller classe par classe alors dans la classe personne avec pour descriptif celui-ci

La classe Personne
Description
Cette classe gère les informations de la personne. Cette classe est publique, les constantes, si elles existent, doivent avoir une portée de type package (aucun modificateur), les attributs d'instance sont privés et toutes les méthodes sont publiques.
Attributs d'instance
String nom // nom de la personne
String prenom // prénom de la personne
int age // âge de la personne
String numeroPermisConduire // numéro de permis de conduire de la personne
Date dateExpirationPermis // date d'expiration du permis de la personne
Constructeur
Personne() // sans arguments
Personne(String pNom, String pPrenom, int pAge, String pNumeroPermisConduire,
Date pDateExpirationPermis) // avec arguments
Méthodes d'instance
Toutes les méthodes accesseurs et mutateurs (getters et setters) pour tous les attributs d'instance.
void afficher()
Permet d'afficher toutes les informations de la classe Personne

Code:
/**
* Write a description of class Billet here.
*
* @author (your name)
* @version (a version number or a date)
*/

import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Personne
{
// les variables d'instance sont générées pour chaque
// chaque objet de la classe
//attributs d'instrance

private String nom; // nom de la personne
private String prenom; // prenom de la personne
private int age; // age de la personne
private String numeroPermisConduire; // numero de permis de conduire de la personne
private Date dateExpirationPermis; // date d'expiration du permis de la personne

/**
* chaque constante de classe est partagée entre toutes les instances
* chaque constante est invariable (final pas modifiable)
* */

private final static String NOM = "\n Nom\t\t: " ;
private final static String PRENOM = "\n Penom\t\t: " ;
private final static int AGE = "\n Age\t\t: " ;
private final static String NUMEROPERMISCONDUIRE = "\n NumeroPermisConduire\t\t: " ;
private final static Date DATEEXPIRATIONPERMIS = "\n DateExpirationPermis\t\t: " ;


// constructeur de classe sans paramètre
public Personne()
{
nom = "";
prenom = "";
age = "";
numeroPermisConduire="";
dateExpirationPermis="";
}

// constructeur de classe avec arguments
/*********************************************************************
* But : Permet d'initialiser le nom du client
* * @param p_nom le nom du client
*********************************************************************/
public void setNom (String p_nom)
{
nom = p_nom ;
}
/*********************************************************************
* But : Permet d'initialiser le Prenom du client
* * @param p_nom le nom du client
*********************************************************************/
public void setPrenom (String p_prenom)
{
prenom = p_prenom ;
}
/*********************************************************************
* But : Permet d'initialiser le Prenom du client
* * @param p_nom le nom du client
*********************************************************************/
public void setAge (int p_age)
{
age = p_age ;
}
/*********************************************************************
* But : Permet d'initialiser le Prenom du client
* * @param p_nom le nom du client
*********************************************************************/
public void setNumeroPermisConduire (String p_numeroPermisConduire)
{
numeroPermisConduire = p_numeroPermisConduire;
}
/*********************************************************************
* But : Permet d'initialiser le Prenom du client
* * @param p_nom le nom du client
*********************************************************************/
public void setDateExpirationPermis (Date p_dateExpirationPermis)
{
dateExpirationPermis = p_dateExpirationPermis ;
}

/*********************************************************************
* But : Permet de consulter ou obtenir le Nom du client
* @return nom nom du client
*********************************************************************/
public String getNom()
{
return nom ;
}

/*********************************************************************
* But : Permet de consulter ou obtenir le Prenom du client
* @return prenom prenom du client
*********************************************************************/
public String getPrenom()
{
return prenom ;
}

/*********************************************************************
* But : Permet de consulter ou obtenir l'age du client
* @return age age du client
*********************************************************************/
public int getAge()
{
return Age ;
}

/*********************************************************************
* But : Permet de consulter ou obtenir le numero de Permis de Conduire du client
* @return numeroPermisConduire numeroPermisConduire du client
*********************************************************************/
public String getNumeroPermisConduire()
{
return numeroPermisConduire ;
}

/*********************************************************************
* But : Permet de consulter ou obtenir la date d' expiration du Permis du client
* @return dateExpirationPermis dateExpirationPermis du client
*********************************************************************/
public String getDateExpirationPermis()
{
return dateExpirationPermis;
}

/*********************************************************************
* But : Permet d'afficher les informations concernant une instance
* de la Classe Personne
*********************************************************************/
public void afficher ()
{
System.out.println(" Voici les informations du client ");
System.out.println(NOM + nom + PRENOM + prenom + AGE + age + NUMEROPERMISCONDUIRE + numeroPermisConduire + DATEEXPIRATIONPERMIS + dateExpirationPermis);
}

/*********************************************************************
* But : Instanciation et Invocation des méthodes
*********************************************************************/

public static void main(String[] args) {
// Déclaration des variables

String nom; // nom de la personne
String prenom; // prenom de la personne
int age; // age de la personne
String numeroPermisConduire; // numero de permis de conduire de la personne
Date dateExpirationPermis; // date d'expiration du permis de la personne

// Bloc de saisie
System.out.print(" Entrez le Nom du client : ");
nom = Console.saisirString();
System.out.println();
System.out.print(" Entrez le Prenom du client : ");
prenom = Console.saisirString();
System.out.println();
System.out.print(" Entrez l'age du client : ");
age = Console.saisirInt();
System.out.println();
System.out.print(" Entrez le numero de permis de conduire du client : ");
numeroPermisConduire = Console.saisirString();
System.out.println();
System.out.print(" Entrez la date d'expiraion du permis de conduire du client : ");
numeroPermisConduire = Console.saisirDate();
System.out.println();

// Création d'une instance
Personne unePersonne = new Personne(nom,prenom,age,numeroPermisConduire,dateExpirationPermis);
// Affichage des informations du livre
unePersonne.afficher();
}
}




il y a des erreux qui sont dans ce cas
premiere erreur type "incompatible types -found java.lang.sting but expected int"

private final static int AGE = "\n Age\t\t: " ;
private final static Date DATEEXPIRATIONPERMIS = "\n DateExpirationPermis\t\t: " ;


mais est ce que mon code est bon selon le desciptif aussi vous pensez ??? c'est ca aussi que j ai peur et que je me retrouve hors sujet ???

3 réponses

hlimaiem Messages postés 106 Date d'inscription dimanche 19 mars 2006 Statut Membre Dernière intervention 17 janvier 2007
13 avril 2006 à 01:53
Limaiem heykel,
La premiere chose dans ton code et de creer un constructeur
public Personne(String nom, String prenom,String age, int numeroPermisConduire,Date dateExpirationPermis )//bon pour la date tu choisi ton type
{
this.nom = nom ;
this.prenom =prenom;
this.age = age;
this.numeroPermisConduire=numeroPermisConduire;
this.dateExpirationPermis= dateExpirationPermis;
}
apres tu initialise tes get. comme ca t'est sur que tes paramtere son passer a ta classe personne
Dans void afficher
System.out.println("NOM" + nom +" PRENOM "+ prenom +" AGE" + age +
"NUMEROPERMISCONDUIRE "+ numeroPermisConduire + "DATEEXPIRATIONPERMIS "+
dateExpirationPermis);// tu ajoute les " "pour les textes

private final static String NOM = "\n Nom\t\t: " ;
private final static String PRENOM = "\n Penom\t\t: " ;
private final static int AGE = "\n Age\t\t: " ;
private final static String NUMEROPERMISCONDUIRE = "\n NumeroPermisConduire\t\t: " ;
private final static Date DATEEXPIRATIONPERMIS = "\n DateExpirationPermis\t\t: " ;
Ces attribut statique a koi vous servent dont ton projet je ne vois pas l'utiliter.
Sinon dans la ligne d'erreur:
private final static int AGE = "\n Age\t\t: " ;
private final static Date DATEEXPIRATIONPERMIS = "\n DateExpirationPermis\t\t: " ;
tu declare un entier age ??? et tu lui ajoute \n un entier avec retour a la ligne??????????? type incompatible {erreur} de meme pour la dateexpiration...
Les attributs static final ne peuvent pas etre modifier d'apres leur declaration mais ce que je vois dont ton programme tu n'on a pas besoin. utilise les comme des instance d'un objet.
pour la lecture depuis un clavier voici un bout de code que tu inserre pour recupperer l'entree clavier:
import java.io.*;// tu importe le io
...
public static void main (String [] args){
BufferedReader clavier = new BufferedReader(new InputStreamReader(System.in)))

System.out.print(" Entrez le Nom du client : ");
nom = clavier.readLine();
System.out.println();
System.out.print(" Entrez le Prenom du client : ");
nom = clavier.readLine();

}

Si vous n'arriverai pas a resoudre d'autre problemes copier moi le code de la classe indexer par des numero pour chaque ligne(c'est plus rapide pour moi) et copier l'erreur exacte que vous aurrez.
Bonne chance
0
ObiWanKennedy Messages postés 60 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 29 octobre 2010 1
13 avril 2006 à 13:50
je dirais même plus

System.out.println("NOM " + nom +" PRENOM "+ prenom +" AGE = " + age +
"Numero de permis de conduire "+ numeroPermisConduire + "DATE d'EXPIRATION de son permis
"+ dateExpirationPermis);



ça sera déja plus lisible.

sinon pour faire un code propre au niveau algo je pense que ton
constructeur sans paramètre il vaudrais mieux mettre tes valeurs a null
pour les chaines et les dates et 0 pour les entiers. au même
encore tu peux le laisser vide mais apres il te fodra faire des tests
car si tu affiche tes champs de ta classe il ne faut pas qu'il soit
vide sinon "java.lang.NullPointerException" .



public Personne()

{

nom = null;

prenom = null;

age = 0;

numeroPermisConduire=0;

dateExpirationPermis=null;

}


I am a heap of shit to human appearance
0
djterrence Messages postés 19 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 16 avril 2006
13 avril 2006 à 20:54
merci beaucoup j ai reussi hier soir a le faire merci bien
0
Rejoignez-nous