Java Strings in ein Array?

...komplette Frage anzeigen

3 Antworten

Derzeit gibts du Person 1 ein und wieder aus, Person 2 ein und wieder aus, Person 3 ein und wieder aus. Du möchtest aber die Ausgabe der 3 Personen erst nach dem alle 3 Personen eingegeben wurden?

Person[] person = new Person[3];

for ( ... // eingabe

person[i] = new Person();

person[i].setName(name); ...

for ( ... // ausgabe

System.out.println("Name: "+person[i].getName());

Antwort bewerten Vielen Dank für Deine Bewertung

Zunächst einmal ist diese Zeile nutzlos:

 String[] datenArray = new String[] { name, nachname, alter, wohnort};

da Du diese Variable datenArray nie wieder liest.

Ich nehme mal an dass Du die Daten von 3 Personen lesen möchtest und nachdem die drei Personen gelesen wurden anschließend die Daten dieser drei Personen ausgeben willst?.

Dazu brauchst Du zwei Schleifen.

In der ersten Schleife liest Du die Daten der Personen, erstellst daraus ein Objekt  wie Du es ja bereits programmiert hast

 Person test = new Person();
test.setName(name);
test.setNachname(nachname);
test.setAlter(Integer.parseInt(alter));
test.setWohnort(wohnort);

und Du mußt dann dieses Objekt irgendwo speichern, damit Du es hinterher in der zweiten Schleife wieder ausgegeben kannst.

Dazu kann man schon ein Array verwendet - aber das Array enthält ja keine Strings sondern Objekte der Klasse Person.

Also VOR der ersten Schleife ein entsprechenden Array definieren

Person[] personen=new Person[3];

und dann innerhalb der ersten Schleife das gerade erstellte Objekt test an passender Stelle im Array ablegen

personen[i]=test;

In der zweiten Schleife (die auch wieder von 0-2 läuft) kannst Du dann z.B. mit

Person test=personen[i]

die Person die gerade "dran" ist aus der entsprechende Stelle im Array auslesen und dann hinterher ihre Daten ausgegeben.

Antwort bewerten Vielen Dank für Deine Bewertung

Ja die drei Scanner abfragen nur in der For-Schleife sollte doch gehen.
Allerdings musst du name, Nachname usw schon vor der For-Schleife initialisieren da sie sonst nur in der For-Schleife verfügbar sind

Antwort bewerten Vielen Dank für Deine Bewertung
Freddy789 04.03.2016, 11:51

entweder ich stell mich dumm an oder es  geht nicht ^^

0

Was möchtest Du wissen?