Alle Objekte einer Klasse nach Eigenschaft durchsuchen

fabipfolix

Mitglied
Hallo,
Ich bin gerade auf ein Problem gestoßen. Ich habe mir eine Klasse erstellt in der eines der Attribute der Jahrgang ist.

Nun müsste ich alle Objekte dieser Klasse danach durchsuchen ob der Jahrgang kleiner als 2000 ist, daraufhin müsste das gefundene Objekte auf die nächste Eigenschaft geprüft werden und die letzte möchte ich als Output haben.

Mein Problem ist jedoch, dass ich nicht weiß, wie ich alle Objekte nach einem einzelnen Attribut durchsuchen kann.

Würde mich sehr über hilfreiche Antworten freuen!
 
Sind die Objekte der Klasse irgendwo gespeichert, z. B. in einer List oder in einem Array?
Geschrieben hab ich noch gar keinen Code, hab es mir bisher nur etwas überlegt.
Geplant hatte ich es, dass die Personen in einer externen Datei gespeichert werden und erstmal auch nur darüber hinzugefügt werden können.

Wie speichere ich diese am besten in einem Array?
 
Die Basics kenn ich schon. Wirklich groß programmiert hab ich noch nichts.
Bin ja auch im Anfänger Thread.
Kann man ein ganzes Objekt in einem Array speichern?
Wenn ja, weiß ich natürlich wie, dann stellt sich nur noch die Frage nach dem durchsuchen.
 
Kann man ein ganzes Objekt in einem Array speichern?
Wenn ja, weiß ich natürlich wie.
Was? "ich weiss nicht ob das geht, aber wenn es geht, dann weiss ich wie". Komischer Denkansatz.
dann stellt sich nur noch die Frage nach dem durchsuchen.
Über das Array iterieren, für jede Instanz den Wert der Instanzvariablen beschaffen, dann mit 2000 vergleichen.
Zeig mal den Code deiner Klasse.
 
Was? "ich weiss nicht ob das geht, aber wenn es geht, dann weiss ich wie". Komischer Denkansatz.

Dachte das erklärt sich dann selbst.
Java:
Mensch[] liste = new Mensch[50] {1,2,3,4,5,6,...};

Über das Array iterieren, für jede Instanz den Wert der Instanzvariablen beschaffen, dann mit 2000 vergleichen.
Zeig mal den Code deiner Klasse.

Existiert wie gesagt noch nicht, sondern überlege nur und wie sich das realisieren lässt. Kann in auch nicht schreiben, da ich im Urlaub keinen Laptop mitgenommen habe.
Er würde eigentlich nur die Variablen speichern:
String name;
Int jahegang;
Int urlaub;
urlaub wird dann, nachdem getestet wurde ob der jahrgang < 2002 ist, mit einem anderen Tag verglichen (1-31, dreht sich nur um einen Monat) und wenn es gleich ist möchte ich name als output.
 
Java:
Mensch[] liste = new Mensch[50] {1,2,3,4,5,6,...};
1. Wenn du ein Array von Menschen hast, solltest du da auch Menschen speichern und keine int Variablen.
2. Du kannst entweder die Laenge des Arrays bei der Initialisierung angeben oder die Laenge aus der Zahl der Parameter in den geschweiften Klammen ermitteln lassen.
Java:
Mensch[] liste = new Mensch[50] ;
oder
Java:
Mensch[] liste = new Mensch[]{new Mensch(...), new Mensch(...), new Mensch(...)} ;
aber nicht beides
Java:
//kompiliert nicht
Mensch[] liste = new Mensch[3]{new Mensch(...), new Mensch(...), new Mensch(...)} ;
Ich glaube, wir sollten die Diskussion nach dem Urlaub fortsetzen.
 

Zurück
Oben