H
hilflos
Gast
Hallo Leute,
mein Programm ist so aufgebaut, daß ich eine Oberklasse (Haustier) Haustiere mit Variablen & Methoden habe, von der 2 Unterklassen (HaustierW und HaustierM) abgeleitet werden, eine für männliche und eine für weibliche Haustiere. Diese Unterklassen unterscheiden sich in der Variablen Kreativitaet bzw Logik und der Methode Spielen. Männchen wollen Stöckchen holen, Weibchen wollen kuscheln. (Das nur zur Erklärung, wieso es überhaupt Unterklassen gibt.
)
Dazu kommt noch eine Applikationsklasse mit der Main-Methode: Applikation.java
Soweit, so gut.
Nun möchte ich automatisch eine vom Benutzer eingegebene Anzahl von Haustieren mit bestimmten Eigenschaften wie Name, Alter, Gewicht erzeugen lassen. & da beginnen die Probleme.
Wo muß ich die Erzeugung implementieren? In einer meiner 4 vorhandenen Klassen oder in einer neuen?
Und wie schaffe ich es, mehrere Haustiere erzeugen zu lassen?
Mein Ansatz war dieser (in der Applikation):
Die Methode erzeugen hab ich bisher in der Oberklasse Haustier stehen, wenn ich sie woanders hinschreib, schaff ich es nicht, sie aufzurufen. Innerhalb dieser Methode laß ich Name und Alter zur Kontrolle ausgeben - das Alter wird ausgegeben, als Name kommt 'null'. Ich versuche, den Namen wie folgt zu erzeugen:
(boolean geschlecht wird an die Methode übergeben. Wenn geschlecht == true, dann Männchen, sonst Weibchen.)
In der Applikation versuche ich, das Alter mit
auszugeben, was aber auch nicht funktioniert. Die wichtigste Frage ist für mich daher im Moment: Wie bekomme ich die erzeugten Werte so in t gespeichert, daß ich sie in der Applikation ausgeben kann?
Und wie kann ich mehrere Haustiere von der Art erzeugen, daß ich erst t[0], dann t[1] & dann wieder t[0] aufrufen kann?
Ich hoffe, einer von euch kann - und mag - mir helfen.
Vielen Dank schon mal im Voraus!
Liebe Grüße
mein Programm ist so aufgebaut, daß ich eine Oberklasse (Haustier) Haustiere mit Variablen & Methoden habe, von der 2 Unterklassen (HaustierW und HaustierM) abgeleitet werden, eine für männliche und eine für weibliche Haustiere. Diese Unterklassen unterscheiden sich in der Variablen Kreativitaet bzw Logik und der Methode Spielen. Männchen wollen Stöckchen holen, Weibchen wollen kuscheln. (Das nur zur Erklärung, wieso es überhaupt Unterklassen gibt.
Dazu kommt noch eine Applikationsklasse mit der Main-Methode: Applikation.java
Soweit, so gut.
Nun möchte ich automatisch eine vom Benutzer eingegebene Anzahl von Haustieren mit bestimmten Eigenschaften wie Name, Alter, Gewicht erzeugen lassen. & da beginnen die Probleme.
Wo muß ich die Erzeugung implementieren? In einer meiner 4 vorhandenen Klassen oder in einer neuen?
Und wie schaffe ich es, mehrere Haustiere erzeugen zu lassen?
Mein Ansatz war dieser (in der Applikation):
Code:
boolean geschlecht = true; //wird weiter oben anstaendig erzeugt, spar ich mir jetzt hier..
for (int i=0; i<haustierAnzahl; i++){
Haustier[] t = new Haustier[haustierAnzahl];
if (geschlecht==true){
t[i]=new HaustierM();
t[i].erzeugen();
}
else {
t[i]=new HaustierW();
t[i].erzeugen();
Die Methode erzeugen hab ich bisher in der Oberklasse Haustier stehen, wenn ich sie woanders hinschreib, schaff ich es nicht, sie aufzurufen. Innerhalb dieser Methode laß ich Name und Alter zur Kontrolle ausgeben - das Alter wird ausgegeben, als Name kommt 'null'. Ich versuche, den Namen wie folgt zu erzeugen:
(boolean geschlecht wird an die Methode übergeben. Wenn geschlecht == true, dann Männchen, sonst Weibchen.)
Code:
String[] wNamen ={"Aika", "Petra", "Jenny"};
String[] mNamen = { "Konstantin", "Manfred", "Paul"};
int ort = (int) (2*Math.random());
if (geschlecht==true){
final String name = mNamen[ort];
}//if
else {
final String name = wNamen[ort];
}//else
int alter = (int) ((Math.random()*300)+1);
System.out.println(alter); //zufallsalter wird ausgegeben
System.out.println(name); //statt dem namen erscheint "null"
In der Applikation versuche ich, das Alter mit
Code:
System.out.println(s[i].alter);
auszugeben, was aber auch nicht funktioniert. Die wichtigste Frage ist für mich daher im Moment: Wie bekomme ich die erzeugten Werte so in t gespeichert, daß ich sie in der Applikation ausgeben kann?
Und wie kann ich mehrere Haustiere von der Art erzeugen, daß ich erst t[0], dann t[1] & dann wieder t[0] aufrufen kann?
Ich hoffe, einer von euch kann - und mag - mir helfen.
Vielen Dank schon mal im Voraus!
Liebe Grüße