Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Appli {
- public static Person p1,p2,p3;
- public static Haus h1,h2,h3;
- public static void main(String[] args) {
- //Instanziierung der Personen
- p1 = new Person("Kurt Mueller", " Bibliothekar");
- p2 = new Person("Beate Schulze", "Kauffrau");
- p3 = new Person("Bernd Kofler", "Rentner");
- //Instanziierung der Häuser
- h1 = new Haus("Rheinstr. 33", p1, p2);
- h2 = new Haus("Bismarckstr. 12", p1, p3);
- h3 = new Haus("Hauptstr. 66", p3, p1);
- // Tests!
- System.out.println("Test:");
- p3.zeigePerson();
- h1.zeigeHaus();
- // Aufgaben
- System.out.println("Aufgaben:");
- System.out.println("1)Alle Personen:");
- //Anzeigen aller Personen
- p1.zeigePerson();
- p2.zeigePerson();
- p3.zeigePerson();
- // Anzeigen aller Häuser
- System.out.println("2)Alle Häuser:");
- h1.zeigeHaus();
- h2.zeigeHaus();
- h3.zeigeHaus();
- // Auszug von Beate Schulze
- System.out.println("3)Auszug von Beate Schulze:");
- h1.ausziehen();
- h1.zeigeHaus();
- p2.zeigePerson();
- // Auszug von Bernd Kofler aus Rheinstr. 33
- System.out.println("4)Auszug von Bernd Koffler:");
- System.out.println("Das Problem tritt bei meinem System niemals auf, da der auszug Hausspezifisch ist.");
- System.out.println("Als Alternative versuche ich nochmal den Auszug aus der Rheinstraße:");
- h1.ausziehen();
- // Aus- und Einzug von Bernd Koffler
- System.out.println("5)Aus- und Einzug von Bernd Koffler:");
- h2.ausziehen();
- h1.einziehen(p3);
- h2.zeigeHaus();
- h1.zeigeHaus();
- p3.zeigePerson();
- }
- }
- public class Haus {
- public String Anschrift;
- public Person Eigentümer;
- public Person Mieter;
- public Haus(String a, Person e, Person m) {
- this.Anschrift = a;
- this.Eigentümer = e;
- this.Mieter = m;
- e.setEigentumshaus(this);
- m.setMiethaus(this);
- }
- public String getAnschrift() {
- return Anschrift;
- }
- public void zeigeHaus() {
- String output = "";
- output+= "Das Haus in " + Anschrift;
- if(Eigentümer!=null) {
- output+=" gehört " + Eigentümer.Name;
- }
- if(Mieter!=null) {
- output+=" und ist an " + Mieter.Name + " vermietet.";
- }
- System.out.println(output);
- }
- public void ausziehen() {
- if(Mieter!=null) {
- Mieter.umziehen(null);
- System.out.println("Die Person " + Mieter.Name +" ist aus dem Haus " + this.Anschrift + " ausgezogen");
- this.Mieter = null;
- }
- else {
- System.out.println("Kann nicht ausziehen, da kein Mieter!");
- }
- }
- public void einziehen(Person p) {
- // Gucken ob das Haus mietbar ist
- if(Mieter==null) {
- this.Mieter = p;
- p.umziehen(this);
- System.out.println("Die Person " + p.Name + " ist in das Haus " + Anschrift + " umgezogen.");
- }
- else {
- System.out.println("Person " + p.Name + " konnte nicht in das Haus " + Anschrift + " einziehen, da es schon belegt ist!");
- }
- }
- }
- public class Person {
- public String Name,Beruf;
- public boolean Mieter;
- public boolean Eigentümer;
- public Haus Miethaus;
- public Haus Eigentumshaus;
- public Person(String n, String b) {
- this.Miethaus = null;
- this.Eigentumshaus = null;
- this.Name = n;
- this.Beruf = b;
- this.Mieter = false;
- this.Eigentümer = false;
- }
- public void setMiethaus(Haus h) {
- // Prüfen ob die Person auch das Haus besitzt!
- if(h!=Eigentumshaus) {
- this.Miethaus = h;
- this.Mieter = true;
- }
- }
- public void setEigentumshaus(Haus e) {
- // Prüfen ob die Person das Haus auch bewohnt!
- if(e!=Miethaus) {
- this.Eigentumshaus = e;
- this.Eigentümer = true;
- }
- }
- public void umziehen(Haus e) {
- if(e!=Miethaus) {
- this.Miethaus = e;
- if(e!=null) {
- this.Mieter = true;
- }
- else {
- this.Mieter = false;
- }
- }
- }
- public void zeigePerson() {
- String output = "";
- output+= "Mein Name ist " + Name;
- if(Miethaus!=null) {
- output+= " ,ich wohne in " + Miethaus.getAnschrift();
- }
- output+= " und bin " + Beruf;
- System.out.println(output);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement