Klasse selbst fortlaufend nummerieren lassen

Diskutiere Klasse selbst fortlaufend nummerieren lassen im Java Basics - Anfänger-Themen Bereich.
I

iRecordS

Hallo!

Ich arbeite gerade an einer Übung, um Java besser zu verstehen und bin dabei auf folgende Aufgabenstellung gestoßen:
Definieren Sie eine Klasse Mitarbeiter. Ein Mitarbeiter besitzt eine eindeutige Nummer (id) und einen Namen (name). Die ID des Mitarbeiters soll durch die Klasse selbst fortlaufend nummeriert werden. Der erste Mitarbeiter hat also die ID 1, der zweite Mitarbeiter die ID 2 usw.
Ich wüsste nicht wie ich das umsetzen soll. Wenn ich beispielsweise einen Mitarbeiter instanziiere, dann könnte ich mit dem Standard Konstruktor dafür sorgen, dass die ID auf 1 gesetzt wird. Aber wie gehe ich das jetzt an, wenn ich jetzt einen neuen Mitarbeiter instanziiere, dann würde dieser über den Konstruktor wieder die ID 1 bekommen.

Hier der Link zur ganzen Aufgabenstellung.

Mfg
iRecordS
 
Kirby_Sike

Kirby_Sike

Du könntest mit einer Schleife die ID immer erhöhen, nachdem du einen Mitarbeiter installiert hast ;)
 
Kirby_Sike

Kirby_Sike

Du könnest es zum Beispiel so machen:

Java:
public static void main(String[] args){
    int id = 1;
    int members = 3;
    for(int i = 0; i < members; i++){
        new Mitarbeiter(id,...);
        id++;
    }
}
Musst du wieder auf die Mitarbeiter zugreifen können oder sie irgendwo speichern?
 
Zuletzt bearbeitet:
Robat

Robat

Du kannst auch einen statischen Zähler in der Mitarbeiter Klasse definieren. Dieser wird nach dem zuweisen zu deinem ID Attribut um 1 erhöht.
 
I

iRecordS

@Kirby_Sike Also die nächste Aufgabenstellung möchte mit den Mitarbeitern in einer anderen Klasse in einer ArrayList weiterarbeiten. Außerdem weiß ich nicht wie viele Mitarbeiter erzeugt werden sollen, daher würde das hier nicht mehr funktionieren ->
Code:
public static void main(String[] args){
    int id = 1;
    int members = 3;
    for(int i = 0; i < members; i++){
        new Mitarbeiter(id,...);
        id++;
    }
 
Kirby_Sike

Kirby_Sike

@Kirby_Sike Also die nächste Aufgabenstellung möchte mit den Mitarbeitern in einer anderen Klasse in einer ArrayList weiterarbeiten. Außerdem weiß ich nicht wie viele Mitarbeiter erzeugt werden sollen, daher würde das hier nicht mehr funktionieren ->
Code:
public static void main(String[] args){
    int id = 1;
    int members = 3;
    for(int i = 0; i < members; i++){
        new Mitarbeiter(id,...);
        id++;
    }
Bekommst du die Anzahl irgendwo vorgegeben?
 
I

iRecordS

@Kirby_Sike Nein, habe die Aufgabenstellung auch im Post oben verlinkt. Habe es jetzt aber mit einem statischen Zähler gemacht und das klappt einwandfrei.^^
 
J

JustNobody

Robat hat es ja bereits genannt. Mach eine statische Variable "currentId" oder so. Immer wenn Du eine Instanz erzeugst zählst Du currentId eins hoch und verwendest es als id.

Die Übung dürfte auch genau darauf abzielen - das Verständnis von statischen Variablen....
 
W

White_Fox

Schau dir nochmal den Tipp von Robat an. Sieh dir die Beschreibung von 'static' mal an.
 
Thema: 

Klasse selbst fortlaufend nummerieren lassen

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben