Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Date : calcul l'age d'une personne connaissant la date de naissance

3 réponses
Avatar
Joseph KHOURY
Bonjour,


J'ai une classe "Personne" avec comme attributs nom, prenom et
datenaissance. Je souhaite que la méthode AgePersonne() me calcul l'age de
la personne. Or lors de la compilation j'ai un message d'erreur.

Personne . java .50 : cannot resolve symbol
Symbol : construction Personne (java.lang.String, java.lang.String, ,int)
location class Personne p=new Personne("Dupont","Jean",1/1/2000);


pouvez vous me dire d'où vient l'erreur et comment faire pour résoudre ce
problème? Est ce que c'est possible en java de calcul (date1 -
date2)?autrement dit comment faire pour connaitre l'age de la personne ayant
sa date de naissance

Merci de votre aide



import java.io.*;
import java.util.Date;

class Personne {
String nom;
String prenom;
Date datenaissance;

Personne(String no, String preno, Date dn)
{
nom= no;
prenom= preno;
datenaissance= dn;
}

void printPersonne()
{
System.out.print("\n\n Bonjour, je suis " + prenom + " " + nom );
System.out.println(" . je suis né(e) le "+ datenaissance +" et j'ai donc
"+ " \n");
}
void AgePersonne(){
Date d;
int age;
d=new Date("d/m/yy");

System.out.print("\n\n now=" +d+"\n");
// System.out.println(" . je suis né(e) le "+ datenaissance +" \n");
}

public static void main(String args[]){
Personne p;
p=new Personne("Dupont","Jean",1/1/2000);
p.printPersonne();
System.out.println("-----------------------------");
p.AgePersonne();
System.out.println("-----------------------------");
p=new Personne("Durant","Christine",2/3/2000);
p.printPersonne();
System.out.println("-----------------------------");
p.AgePersonne();
System.out.println("-----------------------------");
}
}

3 réponses

Avatar
ekse
Bonjour,


J'ai une classe "Personne" avec comme attributs nom, prenom et
datenaissance. Je souhaite que la méthode AgePersonne() me calcul l'age de
la personne. Or lors de la compilation j'ai un message d'erreur.

Personne . java .50 : cannot resolve symbol
Symbol : construction Personne (java.lang.String, java.lang.String, ,int)
location class Personne p=new Personne("Dupont","Jean",1/1/2000);


Java ne peut pas interprété le champ 1/1/2000, tu dois le mettre entre
guillemets si ton constructeur supporte une string comme date.

Avatar
Shorty
En l'occurrence, le constructeur prend directement un objet Date. Il
faut donc le construire avant de le passer au constructeur. Je te
conseille de regarder la classe SimpleDateFormat pour voir le passage
d'une String à une Date
Avatar
Pierre Gilquin
Pour le parsing il faut utiliser un SimpleDateFormat
Date dateNaissance = (new SimpleDateFormat("d/M/y")).parse("03/05/1985");
Date now = new Date();

pour le calcul, tu as le nb de millisecondes avec now.getTimes()
puis faire le calcul de la difference en année ....


Pierre


"Joseph KHOURY" wrote in message
news:4346a354$0$19279$
Bonjour,


J'ai une classe "Personne" avec comme attributs nom, prenom et
datenaissance. Je souhaite que la méthode AgePersonne() me calcul l'age de
la personne. Or lors de la compilation j'ai un message d'erreur.

Personne . java .50 : cannot resolve symbol
Symbol : construction Personne (java.lang.String, java.lang.String, ,int)
location class Personne p=new Personne("Dupont","Jean",1/1/2000);


pouvez vous me dire d'où vient l'erreur et comment faire pour résoudre ce
problème? Est ce que c'est possible en java de calcul (date1 -
date2)?autrement dit comment faire pour connaitre l'age de la personne
ayant

sa date de naissance

Merci de votre aide



import java.io.*;
import java.util.Date;

class Personne {
String nom;
String prenom;
Date datenaissance;

Personne(String no, String preno, Date dn)
{
nom= no;
prenom= preno;
datenaissance= dn;
}

void printPersonne()
{
System.out.print("nn Bonjour, je suis " + prenom + " " + nom );
System.out.println(" . je suis né(e) le "+ datenaissance +" et j'ai donc
"+ " n");
}
void AgePersonne(){
Date d;
int age;
d=new Date("d/m/yy");

System.out.print("nn now=" +d+"n");
// System.out.println(" . je suis né(e) le "+ datenaissance +" n");
}

public static void main(String args[]){
Personne p;
p=new Personne("Dupont","Jean",1/1/2000);
p.printPersonne();
System.out.println("-----------------------------");
p.AgePersonne();
System.out.println("-----------------------------");
p=new Personne("Durant","Christine",2/3/2000);
p.printPersonne();
System.out.println("-----------------------------");
p.AgePersonne();
System.out.println("-----------------------------");
}
}