ich habe immer Probleme bei der Erstellung eines Objektes, wenn ich zum Beispiel vom Nutzer einen String abfrage und daraus ein Objekt erstellen möchte.
Also zum Beispiel:
Java:
classHaupt{publicstaticvoidmain(String[] args){Scanner scan =newScanner(System.in);System.out.print("Bitte Name eingeben");String name = scan.next();Neben neu =newNeu(name);}}
Wenn ich jetzt nun das Objekt Neben mit Namen neu erzeuge, dann kann ich ja auf evtl. weitere Methoden im Objekt neu mit neu.METHODENNAME zugreifen.
Wie geht man aber in JAVA vor, wenn ich jetzt zum Beispiel um die Namensabfrage noch eine Schleife baue und mehrere Namen abfragen möchte? Zum Beispiel, wenn ich in dem Objekt noch Sachen speichern möchte, die sich voneinander unterscheiden (Alter, Geschlecht)?
die Frage ist im Gegensatz zum Titel wohl etwas komplizierter,
das Objekt müsste außerhalb der Schleife erstellt werden, innerhalb der Schleife gibts hoffentlich Fall-Unterscheidungen,
dann jeweils auf die Variable mit dem Objekt zugreifen
classHaupt{publicstaticvoidmain(String[] args){Scanner scan =newScanner(System.in);Neben neu;while(s.length()!=0){System.out.print("Bitte Name eingeben");String name = scan.next();
neu =newNeben(name);}}}
Wenn ich jetzt aber die Schleife mehr als zwei Mal durchlaufe, wird dann das Objekt nicht überschrieben? Außerhalb der Schleife erzeuge ich ein Objekt mit Namen neu. In der Schleife rufe ich den Konstruktor zwar mit unterschiedlichen Namen auf, aber weise ihn doch immer "neu" zu. Bei Verlassen der Schleife kann ich doch dann nur auf ein "neu" zugreifen, oder?
das ist richtig, die Variable wird immer wieder überschrieben, was du suchst is wohl ein Array bzw. List,... dort kannst du mehrere Objekte drin speichern und später wieder aufrufen
alles richtig, anderes braucht viele andere Code-Befehle,
wenn du mehrere Objekte speichern willst, dann z.B. in einer Liste sammeln,
wenn du verschiedene Dinge abfragen willst und das unbedingt in diese Schleife reinpassen musst,
dann hast du sowieso das Problem zu entscheiden/ zu wählen, was denn bei jedem Schleifendurchlauf abgefragt werden soll,
das Objekt musst du vorerst gar nicht anschauen, es sei denn das selber ist dabei wichtig:
Objekt nicht vorhanden? -> Namen fragen
Objekt vorhanden aber Alter noch nicht? -> Alter fragen usw.
Also füge ich in jedem Schleifendurchlauf das Objekt der ArrayList an, die ja im Voraus über keine fest Länge verfügt. In der wird dann das Objekt nachhaltig gespeichert?