Hallo,
ich hab folgendes Problem, ich muss Kinder anlegen und sie miteinander vergleichen ob sie Geschwister sind, nur weis ich nicht wie ich denen Eltern zuordnen kann, bzw sie als Kind zuweise und wie vergleiche ich, ob sie die selben Eltern haben (vlt.: child1.equals(cild2)...).
Das wird gefordert:
Modellieren Sie eine Klasse Person. Eine Person hat folgende Eigenschaften:
Und das hab ich bisjetzt geschaft:
Ich danke herzlichst für jede hilfreiche Antwort,
lg Sabine.
ich hab folgendes Problem, ich muss Kinder anlegen und sie miteinander vergleichen ob sie Geschwister sind, nur weis ich nicht wie ich denen Eltern zuordnen kann, bzw sie als Kind zuweise und wie vergleiche ich, ob sie die selben Eltern haben (vlt.: child1.equals(cild2)...).
Das wird gefordert:
Modellieren Sie eine Klasse Person. Eine Person hat folgende Eigenschaften:
- Einen Namen (name), der sich aus Titel, Vornamen, Nachname und Geburtsname zusammensetzt. (Legen Sie hierfür einen eigenen Datentyp an)
- Ein Alter (age).
- Eine Anschrift (address), welche sich aus Straße, Hausnummer, Postleitzahl, Wohnort und Land zusammensetzt. (Legen Sie hierfür einen eigenen Datentyp an)
- Einen Vater (father) vom Datentyp Father. Legen Sie hierfür eine Klasse Father als Unterklasse von Person an. Ein Vater kann (in unserem Beispiel) maximal 3 Kinder haben. Legen Sie für jedes Kind ein Attribut (child1, child2, child3) an in der Klasse Father an.
- Eine Mutter (mother) vom Datentpy Mother. Legen Sie eine Klasse Mother als Unterklasse von Person analog zu Father an.
- isSibling(Person p): Diese Operation gibt an, ob die Person p ein Geschwister von der betrachteten Person ist. Dafür müssen Vater und Mutter übereinstimmen.
- isHalfSibling(Person p): Diese Operation gibt an, ob die Person p ein Halbgeschwister von der betrachteten Person ist. Dafür darf nur ein Elternteil übereinstimmen.
- livesInTheSameCity(Person p): Diese Operation gibt an, ob die Person p und die betrachtete Person in derselben Stadt leben.
- compareAge(Person p): Diese Operation gibt an, ob die Person p älter, jünger oder gleich alt wie die betrachtete Person ist. Entsprechend gibt sie auf der Konsole den Wert older, younger oder same age auf dem Bildschirm aus.
- Legen Sie beliebige Personen (Väter, Mütter etc.) an und gestalten Sie die Details (Name, Vornamen, Anschrift etc.) nach Ihren Vorstellungen aus. Schreiben Sie beispielhaften Code in dem Sie alle 4 Operationen der Klasse Person nutzen so dass:
- isSibling zu true auswertet.
- isHalfSibling zu true auswertet.
- livesInTheSameCity einmal zu true und einmal zu false auswertet.
- Alle 3 Fälle von compareAge vorkommen.
Und das hab ich bisjetzt geschaft:
Code:
public class Person {
Name name = new Name();
int age;
Address address = new Address();
public Person(String titel, String vorname, String nachname, String geburtsname, String strasse, String hausnummer,
int plz, String wohnort, String land) {
this.name.titel = titel;
this.name.vorname = vorname;
this.name.nachname = nachname;
this.name.geburtsname = geburtsname;
System.out.println(
this.name.titel + " " + this.name.vorname + " " + this.name.nachname + " " + this.name.geburtsname);
this.address.strasse = strasse;
this.address.hausnummer = hausnummer;
this.address.plz = plz;
this.address.wohnort = wohnort;
this.address.land = land;
System.out.println(this.address.strasse + " " + this.address.hausnummer + " " + this.address.plz + " "
+ this.address.wohnort + " " + this.address.land);
}
public int age(int age) {
this.age = age;
return age;
}
}
Code:
class Name {
String titel;
String vorname;
String nachname;
String geburtsname;
}
Code:
class Address {
String strasse;
String hausnummer;
int plz;
String wohnort;
String land;
}
Code:
class Father {
Person child1;
Person child2;
Person child3;
public Father() {
super();
}
public Father(String titel, String vorname, String nachname, String geburtsname, String strasse, String hausnummer,
int plz, String wohnort, String land) {
super();
System.out.println(titel+" "+vorname+" "+nachname+" "+geburtsname);
System.out.println(strasse+" "+hausnummer+" "+plz+" "+wohnort+" "+land);
}
public Person getChild1() {
return child1;
}
public void setChild1(Person child1) {
this.child1 = child1;
}
public Person getChild2() {
return child2;
}
public void setChild2(Person child2) {
this.child2 = child2;
}
public Person getChild3() {
return child3;
}
public void setChild3(Person child3) {
this.child3 = child3;
}
}
Code:
class Mother {
Person child1;
Person child2;
Person child3;
public Mother() {
super();
}
public Mother(String titel, String vorname, String nachname, String geburtsname, String strasse, String hausnummer,
int plz, String wohnort, String land) {
super();
System.out.println(titel + " " + vorname + " " + nachname + " " + geburtsname);
System.out.println(strasse + " " + hausnummer + " " + plz + " " + wohnort + " " + land);
}
public Person getChild1() {
return child1;
}
public void setChild1(Person child1) {
this.child1 = child1;
}
public Person getChild2() {
return child2;
}
public void setChild2(Person child2) {
this.child2 = child2;
}
public Person getChild3() {
return child3;
}
public void setChild3(Person child3) {
this.child3 = child3;
}
}
Code:
class PersonTest {
public static void main(String[] args) {
Father v1 = new Father("Herr", "Max", "Müller", "Otto", "Straße", "13", 10555, "Berlin",
"Deutschland");
Mother m1 = new Mother("Frau", "Laura", "Müller", "Lara", "Straße", "13", 10555, "Berlin",
"Deutschland");
}
}
Ich danke herzlichst für jede hilfreiche Antwort,
lg Sabine.