Guten Abend,
da ich hier neu bin, zunächst einige Infos zu mir. Mein Name ist Michael, studiere BWL und belege den OOP Kurs als Wahlfach. Meine bisherigen Programmiererfahrungen beschränken sich auf ein wenig Php (Homepage + Shop).
Unsere Aufgabe ist hier zu finden
http://www.vsp.tu-berlin.de/fileadmin/a0533/uploads/lehre/LV/WS1011/L023/Hausaufgabe_Objektorientiertes_Programmieren_fuer_Ingenieure_WS_10.pdf
Mir ist nicht ganz klar, was die einzelnen Klasen enthalten sollen.
Mein bisheriges Ergebnis lautet (Klasse Schweine lasse ich weg, ist ja analog zu Rinder):
Klasse Rinder
Klasse Kuh
Klasse Kalb
erbt von Rinder
implementiert Interface Ageable
scopes sind protected
Methoden:growUp (Kalb wird ab 3 zur Kuh)
Klasse Simulator
Klasse Hauptprogramm
Tja und das war es irgendwie schon (bis auf die Schweine, Sau, Ferkel und div Comparatoren Klassen). Vielleicht findet sich ja jemand, der mir bei folgenden Fragen helfen kann.
wie schaffe ich es, das Objekt zu entfernen ohne, dass ich eine Exception bekomme. Die Exception besagte stets, dass ich während des Iterierens versuche eine Element zu entfernen. Dass das nicht geht, leuchtet mir ein, aber wie löse ich das sonst?
Vielen Dank im Voraus, :toll:
Gruß Michael
da ich hier neu bin, zunächst einige Infos zu mir. Mein Name ist Michael, studiere BWL und belege den OOP Kurs als Wahlfach. Meine bisherigen Programmiererfahrungen beschränken sich auf ein wenig Php (Homepage + Shop).
Unsere Aufgabe ist hier zu finden
http://www.vsp.tu-berlin.de/fileadmin/a0533/uploads/lehre/LV/WS1011/L023/Hausaufgabe_Objektorientiertes_Programmieren_fuer_Ingenieure_WS_10.pdf
Mir ist nicht ganz klar, was die einzelnen Klasen enthalten sollen.
Mein bisheriges Ergebnis lautet (Klasse Schweine lasse ich weg, ist ja analog zu Rinder):
Klasse Rinder
- abstract
- implementiert Interface Ageable
- scopes sind protected
- Methode:diverse Getter, passedAway(können sterben)
Klasse Kuh
- erbt von Rinder
- implementier Interface Ageable
- scopes sind protected
- Methode: getBaby(kann Kinder bekommen)
Java:
public double getSchwangerschaftsWkt() {
Random schwangerSchaftsWkt = new Random();
return (schwangerSchaftsWkt.nextDouble());
}
public Kalb getBaby(double a){ // innerhalb der Simulation, wird jeden Monat SchwangerschaftsWkt erzeugt
if (this.getAge()>=3 && a<=0.02 ){
return (new Kalb(0));
}
else{
return null;
}
}
erbt von Rinder
implementiert Interface Ageable
scopes sind protected
Methoden:growUp (Kalb wird ab 3 zur Kuh)
Java:
public Kuh growUp(){
return (new Kuh(this.getAge())); // erzeuge neue Kuh, die Alter vom Kalb bekommt
}
- implementiert Interface Comparator
- scopes sind private
- Methode:simulate (Bauernhof simulieren), addKuh (Kuh zu der SImulation hinzufügen) , printResult (Ergebnisse, in der Form "in Jahr 1 ist das passiert(Tot?, Baby?)" Ausgabe abhängig vom Komparator)
Java:
public void addKuh(int alterKuh){
kuhListe.add(new Kuh(alterKuh)); // füge Kuh zur Liste kuhListe hinzu
}
public void simulate(int month){
for (int ii = 1 ; ii < month ; ii++){
// ................... fehlt noch einiges
}
}
public String printResult(){
return ....;
}
- Hier soll die eigentlich Bedienung stattfinden
- enthält die main-Methode
Java:
package Ha;
public class Hauptprogramm {
public static void main(String[] args) {
Simulator sim = new Simulator();
sim.addKuh(7);
sim.addKuh(4);
sim.addKuh(27);
sim.simulate(70);
sim.erg();
}
}
Tja und das war es irgendwie schon (bis auf die Schweine, Sau, Ferkel und div Comparatoren Klassen). Vielleicht findet sich ja jemand, der mir bei folgenden Fragen helfen kann.
- Kann mir jemand eine ungefähre Bauanleitung (inhaltlich) für mein Problem geben (natürlich kein Code!)
- Brauche ich noch weitere Klassen (Bauernhof?)?
- Wann und wie verwende ich die ArrayListen?
- Konkret zu den ArrayListen..
Java:
for (Kuh kuh : kuhListe){
kuh.increaseAge();
if (kuh.passedAway()){
kuhListe.remove(kuh);//entferne die Kuh, wenn gestorben, aus der Liste
}
}
Vielen Dank im Voraus, :toll:
Gruß Michael