Bin gerade am Programmieren eines Verwaltungsprogs.... soll das können:
Es sollen beliebig viele Häuser verwaltet werden können. Zur Laufzeit sollen Häuser
dazugenommen oder wieder abgegeben werden können. Es soll auch die Moeglichkeit
bestehen, dass nach Häusern anhand der Adresse gesucht werden kann. Das heißt man braucht
Methoden zum Hinzufügen, Entfernen und Suchen von Häusern.
Von jedem Haus möchten Sie wissen, wo es sich befindet (eindeutige Adresse). Jedes Haus hat
eine fixe Anzahl von Stockwerken und in jedem Stockwerk eine fixe Anzahl von Wohnungen.
Man soll die Bewohner (Personen) jeder Wohnung verwalten können damit jederzeit Personen
in eine Wohnung ein- oder aus einer Wohnung ausziehen können. Daher braucht man auch hier
Methoden zum Hinzufügen und Entfernen von Personen.
Von den Personen will man den Namen und das Alter wissen. Diese beiden Angaben sollen
eine Person innerhalb einer Wohnung eindeutig identifizieren.
Schreiben Sie ein Testprogramm, das mindestens 2 Häuser, die Sie verwalten, erzeugt. Diese
sollen unterschiedlich viele (mindestens 2) Stockwerke besitzen. Bevölkern Sie die erzeugten
Wohnungen mit unterschiedlich vielen Personen (es dürfen auch manche, max. die Hälfte der
Wohnungen leer bleiben).
Sehen Sie Methoden vor, die es Ihnen erlauben, die Personendaten der Bewohner auf dem
Bildschirm auszugeben. Im Testprogramm soll ein Aufruf der Form
myHouseAdmin.writeResidents(); genügen. Dadurch soll das Hausverwaltungs-Objekt alle
seine Haus-Objekte anweisen, ihre Bewohner auszugeben. Die einzelnen Haus-Objekte leiten
das ihrerseits an ihre Wohnungs-Objekte weiter. Diese können dann endlich wirklich auf die
Personen zugreifen.
Als Klassen bieten sich Hausverwaltung, Haus, Wohnung und Person an. Um untergeordnete
Objekte zu verwalten, sollen Sie lineare Listen verwenden. Beachten Sie auch die Datenkapselung
(„set“ und „get“ -Methoden)!
Gestalten Sie die Ausgabe des Hausverwaltungprogrammes so, dass diese nach Häusern,
Stockwerken, Wohnungen gegliedert ist und für jede Wohnung die Bewohner dazu ausgibt.
Hab jetzt mal den code für die ganzen classen geschrieben und so ca:
Hab irgendwie das problem dass ich in der klasse hausverwaltung keine set und get funktionen von anderen klassen aufrufen kann ... wieso ist das so?
Was haltet ihr bis jetzt von dem programm von den klassen so ok? hat wer verbesserungsvorschläge?
Bei den add search und del house bin ich mir nicht ganz sicher wie ich das am besten mache..
Es sollen beliebig viele Häuser verwaltet werden können. Zur Laufzeit sollen Häuser
dazugenommen oder wieder abgegeben werden können. Es soll auch die Moeglichkeit
bestehen, dass nach Häusern anhand der Adresse gesucht werden kann. Das heißt man braucht
Methoden zum Hinzufügen, Entfernen und Suchen von Häusern.
Von jedem Haus möchten Sie wissen, wo es sich befindet (eindeutige Adresse). Jedes Haus hat
eine fixe Anzahl von Stockwerken und in jedem Stockwerk eine fixe Anzahl von Wohnungen.
Man soll die Bewohner (Personen) jeder Wohnung verwalten können damit jederzeit Personen
in eine Wohnung ein- oder aus einer Wohnung ausziehen können. Daher braucht man auch hier
Methoden zum Hinzufügen und Entfernen von Personen.
Von den Personen will man den Namen und das Alter wissen. Diese beiden Angaben sollen
eine Person innerhalb einer Wohnung eindeutig identifizieren.
Schreiben Sie ein Testprogramm, das mindestens 2 Häuser, die Sie verwalten, erzeugt. Diese
sollen unterschiedlich viele (mindestens 2) Stockwerke besitzen. Bevölkern Sie die erzeugten
Wohnungen mit unterschiedlich vielen Personen (es dürfen auch manche, max. die Hälfte der
Wohnungen leer bleiben).
Sehen Sie Methoden vor, die es Ihnen erlauben, die Personendaten der Bewohner auf dem
Bildschirm auszugeben. Im Testprogramm soll ein Aufruf der Form
myHouseAdmin.writeResidents(); genügen. Dadurch soll das Hausverwaltungs-Objekt alle
seine Haus-Objekte anweisen, ihre Bewohner auszugeben. Die einzelnen Haus-Objekte leiten
das ihrerseits an ihre Wohnungs-Objekte weiter. Diese können dann endlich wirklich auf die
Personen zugreifen.
Als Klassen bieten sich Hausverwaltung, Haus, Wohnung und Person an. Um untergeordnete
Objekte zu verwalten, sollen Sie lineare Listen verwenden. Beachten Sie auch die Datenkapselung
(„set“ und „get“ -Methoden)!
Gestalten Sie die Ausgabe des Hausverwaltungprogrammes so, dass diese nach Häusern,
Stockwerken, Wohnungen gegliedert ist und für jede Wohnung die Bewohner dazu ausgibt.
Hab jetzt mal den code für die ganzen classen geschrieben und so ca:
Code:
public class Hausverwaltung {
public void run() {
int a = 0;
do {
IO.writeLn("0 Für Ende!");
IO.writeLn("1 Ein Haus hinzufügen!");
IO.writeLn("2 Ein Haus entfernen! ");
IO.writeLn("3 Ein Haus suchen!");
a = IO.readInt();
switch (a) {
case 1:
IO.write("Name des Hauses: ");
String addHouse = IO.readWord();
this.addhouse(addHouse);
break;
case 2:
IO.write("Name des Hauses: ");
String delHouse = IO.readWord();
this.delHouse(delHouse);
break;
case 3:
IO.writeLn("Straße des suchenden Hauses: ");
String suchen = IO.readWord();
searchHouse(suchen);
break;
}
} while (a != 0);
}
public void searchHouse(String search) {
}
public void addhouse(String House) {
Haus myhouse = new Haus();
IO.writeLn("Adresse: ");
String a = IO.readWord();
Haus.setAdresse(a); // gibt mir hier nen fehler aus das er die methode nicht kennt!
}
public void delHouse(String House) {
}
}
public class Haus {
int AnzahlWohnungen;
int Stockwerke;
String Adresse = "";
void setAdresse(String Adresse) {
this.Adresse = Adresse;
}
String getAdresse() {
return Adresse;
}
void setAnzahlWohnungen(int Anzahl) {
if (Anzahl < 0) {
Anzahl = 0;
}
this.AnzahlWohnungen = Anzahl;
}
int getAnzahlWohnungen() {
return AnzahlWohnungen;
}
void setStockwerke(int Anzahl) {
if (Anzahl < 0) {
Anzahl = 0;
}
this.Stockwerke = Anzahl;
}
int getStockwerke() {
return Stockwerke;
}
}
public class Wohnung {
int Person;
int getPerson() {
return Person;
}
void setPerson(int Anzahl) {
if (Anzahl < 0) {
Anzahl = 0;
}
this.Person = Anzahl;
}
}
public class Person {
String Name = "";
int age;
String getName() {
return Name;
}
void setName(String name) {
this.Name = name;
}
void setAlter(int Anzahl) {
if (Anzahl < 0) {
Anzahl = 0;
}
this.age = Anzahl;
}
int getAlter() {
return age;
}
}
public class Main {
public static void main(String[] args) {
Hausverwaltung hausverwaltung = new Hausverwaltung();
hausverwaltung.run();
}
}
Hab irgendwie das problem dass ich in der klasse hausverwaltung keine set und get funktionen von anderen klassen aufrufen kann ... wieso ist das so?
Was haltet ihr bis jetzt von dem programm von den klassen so ok? hat wer verbesserungsvorschläge?
Bei den add search und del house bin ich mir nicht ganz sicher wie ich das am besten mache..