package humain; public class Humain { private String nom; private int age; private Genre genre; private Humain conjoint; public Humain() {} public Humain(String nom, int age, Genre genre) { this.nom = nom; this.age = age; this.genre = genre; } public String getNom() { return nom; } public void setNom(String nom) { this.nom = nom; } public int getAge() { return age; } // peut etre ameliore en vérifiant que age est compris entre 0 et 140 public void setAge(int age) { this.age = age; } public Genre getGenre() { return genre; } public void setGenre(Genre genre) { this.genre = genre; } public Humain getConjoint() { return conjoint; } @Override public String toString() { String s = "Humain nom=" + nom + ", age=" + age + ", genre=" + genre; if (conjoint != null) s += " nom du conjoint = "+this.conjoint.nom; return s; } public boolean estUni() {return this.conjoint != null;} public boolean estMajeur() {return this.age >= 18;} public void sUnir(Humain h){ if (h==null) System.out.println("On ne se marie pas avec null, pour se separer utiliser la methode seSeparer"); else if (! this.estMajeur() || ! h.estMajeur()) System.out.println("L'un des deux n'est pas majeur!"); else if (h == this) System.out.println("On ne se marie pas avec soi-meme !"); else if (! this.estUni() && ! h.estUni()) { this.conjoint = h; h.conjoint=this; } else System.out.println("la personne ou son conjoint ne sont pas libres !"); } public void seSeparer(){ if(estUni()){ this.conjoint.conjoint=null; this.conjoint=null; } else System.out.print("la personne n'est pas mariŽee"); } }