class Personne
{
public String mNom, mPrenom, mAdresse
;
public Personne mPere, mMere
;
public Personne
(String nom,
String prenom,
String adresse
)
{
mNom
= nom
;
mPrenom
= prenom
;
mAdresse
= adresse
;
mPere
= null;
mMere
= null;
return;
}
public Personne
(String nom,
String prenom,
String adresse, Personne pere, Personne mere
)
{
mNom
= nom
;
mPrenom
= prenom
;
mAdresse
= adresse
;
mPere
= pere
;
mMere
= mere
;
return;
}
public String toString
()
{
return mNom
+ " " + mPrenom
;
}
};
class Test
{
static boolean sontDesFreres
(Personne p1, Personne p2
)
{
if (p1.
mPere==null || p1.
mMere==null || p2.
mPere==null || p2.
mMere==null)
return false;
else
return (p1.
mPere==p2.
mPere && p1.
mMere==p2.
mMere);
}
static boolean p1EstGrandPereDep2
(Personne p1, Personne p2
)
{
if (p2.
mPere==null || p2.
mPere.
mPere==null)
return false;
else
return (p2.
mPere.
mPere==p1
);
}
public static void main
(String[] arg
)
{
Personne louisSeize
= new Personne
("seize",
"louis",
"versailles");
Personne marieAntoinette
= new Personne
("antoinette",
"marie",
"versailles");
Personne napoleonBonaparte
= new Personne
("bonaparte",
"napoleon",
"bastia");
Personne josephineBoharnais
= new Personne
("boharnais",
"josephine",
"bastia");
Personne louisetteSeize
= new Personne
("seize",
"louisette",
"versailles", louisSeize, marieAntoinette
);
Personne alfredDurand
= new Personne
("durand",
"alfred",
"labas", napoleonBonaparte, josephineBoharnais
);
Personne julesDupont
= new Personne
("dupont",
"jules",
"ici", napoleonBonaparte, josephineBoharnais
);
Personne martinRaimond
= new Personne
("raimond",
"martin",
"ailleurs", alfredDurand, louisetteSeize
);
System.
out.
println (sontDesFreres
(julesDupont, alfredDurand
));
System.
out.
println (sontDesFreres
(julesDupont, louisSeize
));
System.
out.
println (p1EstGrandPereDep2
(napoleonBonaparte, martinRaimond
));
System.
out.
println (p1EstGrandPereDep2
(napoleonBonaparte, julesDupont
));
System.
out.
println (napoleonBonaparte
);
martinRaimond.
mPere.
mPere = julesDupont
;
System.
out.
println (napoleonBonaparte
);
return;
}
};