Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Nabend,
folgendes: Wir müssen die neugeborenen Tiere eines Zoo´s ab zählen.
Dafür hab ich schon die main methode und 2 klassen (für 2 Tierfamilien). Die beiden Tierfamilien besitzen jeweils 4 Tiere (Unterklassen verwendet) .
In meiner main methode lese ich aus einer textdatei z.b. 3 tiere raus. Daraufhin verwende ich listen um jeweils auf die Unterklassen der Tiere "umzuleiten". Jetzt kann ich zumindest über die Unterklassen verschiedene Sachen für das jeweilige tier ausgeben.
Nun muss ich aber wenn ein Tier ausgeben wird diesen eine genaue und fortlaufende nummer geben.
1.) Wo genau muss ich den Zähler reinschreiben? (extra Klasse erstellen und über main darauf verweisen?)
2.) Wie genau (Programmcode) sieht das am ende aus?
Leider weiß ich nicht mehr wie genau das gemacht wird und kann nicht mit programmcode diesen. Tut mir leid
Das hilft mir leider nicht viel weiter.
Ich möchte gerne jedesmal wenn in meiner textdatei elefant steht, diesem eine bestimmte Nr. geben.
Am besten nen Bsp. / ich denke das geht am schnellsten
Liste:
Elefant -> INr.: 1
Tiger -> INr.: 2
Elefant -> INr.: 3
Bär -> INr.: 4
Elefant -> INr.:5
Bär -> INr.: 6
Es soll ne eindeutige Nummer werden. (INr. = Identifikationsnummer)
In meiner main Klasse hab ich ne switch Anweisung für die Textdatei.
Und von der aus will ich auf meine Unterklasse für das Tier (bereits vorhanden) sowie auf die Zähl-klasse verweisen.
Deswegen brauch ich ne Art zähler der immer weiter zählt und das dem jeweiligen element in der liste zuteilt. Wahrscheinlich brauch ich noch nen speicher damit sich der Zähler bereits vergebene Sachen merkt.
Danke schonmal für deine Mühe.
Am besten fragt ihr wenn was unlogisch erscheint. Ich weiß nicht was sonst noch für euch relevant wäre.
LG
Wenn ich dich richtig verstanden habe, sollte es eine static-Variable in der obersten Klasse der Hierarchie (Animal oder so) tun. Die dann als ID im Konstruktor setzen und hochzählen:
Java:
public abstract class Animal {
private static int counter = 1; //Startwert für 1. Tier
private int id;
public Animal() {
id = counter;
counter++;
}
public int getId() { return id; }
}
class Platypus extends Animal {
...
}
Das heißt, jedes mal, wenn du ein neues Tier instantiierst (egal von welcher Unterklasse) bekommt es die nächste ID verpasst.