/* Auteur: Nicolas JANEY */ /* nicolas.janey@univ-fcomte.fr */ /* Avril 2005 */ public class Personne { String nom; String prenom; int situationFamiliale; long id; /* Trois constructeurs */ /* - sans parametre -> nom vide, prenom vide */ /* situation familiale au code -1, */ /* numero de securite sociale a -1 */ /* - avec quatres parametres String, String, entier */ /* et entier long -> */ /* nom, prenom, code situation et numero de secu */ /* - avec un parametre de classe Personne -> */ /* initialisation par copie de cette personne */ public Personne() { nom = new String(); prenom = new String(); situationFamiliale = -1; id = -1; } public Personne(String n,String p,int s,long i) { nom = new String(n); prenom = new String(p); situationFamiliale = s; id = i; } public Personne(Personne p) { nom = new String(p.nom); prenom = new String(p.prenom); situationFamiliale = p.situationFamiliale; id = p.id; } /* Methode de test du sexe */ public boolean sexe() { return((id/100000000000000L) == 1); } /* Methode de calcul de la date de naissance */ /* (annee*100+mois) par extraction */ /* depuis le numero de secu */ public int dateNaissance() { return((int) ((id/10000000000L)%10000)); } /* Methode de comparaison avec l'age */ /* d'une autre personne */ public boolean plusAgeQue(Personne p) { return(dateNaissance() < p.dateNaissance()); } /* Methode de comparaison selon le classement */ /* nom, prenom, date de naissance */ public boolean classeAvant(Personne p) { if ( nom.compareTo(p.nom) < 0 ) return(true); if ( nom.compareTo(p.nom) > 0 ) return(false); if ( prenom.compareTo(p.prenom) < 0 ) return(true); if ( prenom.compareTo(p.prenom) > 0 ) return(false); return(dateNaissance() > p.dateNaissance()); } /* Surcharge de la methode toString */ public String toString() { return(nom+" "+prenom+" "+situationFamiliale+" "+id); } }