Création de la classe Personne complète avec constructeur et méthodes
This commit is contained in:
145
com/humanbooster/exercices/Personne.java
Normal file
145
com/humanbooster/exercices/Personne.java
Normal file
@@ -0,0 +1,145 @@
|
|||||||
|
package com.humanbooster.exercices;
|
||||||
|
|
||||||
|
public class Personne {
|
||||||
|
|
||||||
|
private String nom;
|
||||||
|
private String prenom;
|
||||||
|
private int age;
|
||||||
|
private static int nombrePersonnes;
|
||||||
|
|
||||||
|
public Personne() {
|
||||||
|
nombrePersonnes++;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructeur de la classe Personne
|
||||||
|
*
|
||||||
|
* @param nom Nom de la personne
|
||||||
|
* @param prenom Prénom de la personne
|
||||||
|
* @param age Âge de la personne
|
||||||
|
* @throws IllegalArgumentException Si le nom ou le prénom est vide, ou si l'âge est égal à zéro
|
||||||
|
*/
|
||||||
|
public Personne(String nom, String prenom, int age) throws IllegalArgumentException {
|
||||||
|
|
||||||
|
if (nom == null || nom.trim().isEmpty()) throw new IllegalArgumentException("Le nom ne peut pas être vide");
|
||||||
|
else this.nom = nom.trim();
|
||||||
|
|
||||||
|
if (prenom == null || prenom.trim().isEmpty()) throw new IllegalArgumentException("Le prénom ne peut pas être vide");
|
||||||
|
else this.prenom = prenom.trim();
|
||||||
|
|
||||||
|
if (age == 0) throw new IllegalArgumentException("L'âge ne peut pas être égal à zéro");
|
||||||
|
else if (age < 0) this.age = age * (-1);
|
||||||
|
else this.age = age;
|
||||||
|
|
||||||
|
nombrePersonnes++;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Récupère le nom de la personne
|
||||||
|
*
|
||||||
|
* @return Nom de la personne
|
||||||
|
*/
|
||||||
|
public String getNom() {
|
||||||
|
return nom;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Modifie le nom de la personne
|
||||||
|
*
|
||||||
|
* @param nom Nom de la personne
|
||||||
|
*/
|
||||||
|
public void setNom(String nom) {
|
||||||
|
if (nom == null || nom.trim().isEmpty()) throw new IllegalArgumentException("Le nom ne peut pas être vide");
|
||||||
|
else this.nom = nom.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Récupère le prénom de la personne
|
||||||
|
*
|
||||||
|
* @return Prénom de la personne
|
||||||
|
*/
|
||||||
|
public String getPrenom() {
|
||||||
|
return prenom;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Modifie le prénom de la personne
|
||||||
|
*
|
||||||
|
* @param prenom Prénom de la personne
|
||||||
|
*/
|
||||||
|
public void setPrenom(String prenom) {
|
||||||
|
if (prenom == null || prenom.trim().isEmpty()) throw new IllegalArgumentException("Le prénom ne peut pas être vide");
|
||||||
|
else this.prenom = prenom.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Récupère l'âge de la personne
|
||||||
|
*
|
||||||
|
* @return Âge de la personne
|
||||||
|
*/
|
||||||
|
public int getAge() {
|
||||||
|
return age;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Modifie l'âge de la personne
|
||||||
|
*
|
||||||
|
* @param age Âge de la personne
|
||||||
|
*/
|
||||||
|
public void setAge(int age) {
|
||||||
|
if (age == 0) throw new IllegalArgumentException("L'âge ne peut pas être égal à zéro");
|
||||||
|
else if (age < 0) this.age = age * (-1);
|
||||||
|
else this.age = age;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Récupère le nombre de personnes créées
|
||||||
|
*
|
||||||
|
* @return Nombre de personnes créées
|
||||||
|
*/
|
||||||
|
public static int getNombrePersonnes() {
|
||||||
|
return nombrePersonnes;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Crée une nouvelle personne
|
||||||
|
*
|
||||||
|
* @param nom Nom de la personne
|
||||||
|
* @param prenom Prénom de la personne
|
||||||
|
* @param age Âge de la personne
|
||||||
|
* @return Nouvelle instance de la classe Personne
|
||||||
|
*/
|
||||||
|
public Personne creer(String nom, String prenom, int age) {
|
||||||
|
return new Personne(nom, prenom, age);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Compare deux personnes en fonction de leur âge
|
||||||
|
*
|
||||||
|
* @param personne1 Première personne à comparer
|
||||||
|
* @param personne2 Deuxième personne à comparer
|
||||||
|
*/
|
||||||
|
public void comparer(Personne personne1, Personne personne2) {
|
||||||
|
|
||||||
|
String nomP1 = personne1.getPrenom() + " " + personne1.getNom();
|
||||||
|
String nomP2 = personne2.getPrenom() + " " + personne2.getNom();
|
||||||
|
|
||||||
|
if (personne1.getAge() > personne2.getAge()) {
|
||||||
|
System.out.println(nomP1 + " est plus vieux que " + nomP2);
|
||||||
|
} else if (personne1.getAge() < personne2.getAge()) {
|
||||||
|
System.out.println(nomP2 + " est plus vieux que " + nomP1);
|
||||||
|
} else {
|
||||||
|
System.out.println(nomP1 + " et " + nomP2 + " ont le même âge");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Récupère une chaîne de caractères représentant la personne
|
||||||
|
*
|
||||||
|
* @return Chaîne de caractères représentant la personne
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return this.nom + " " + this.prenom + ", " + this.age + " ans";
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user