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.
Objekte zur Laufzeit in Schleife erzeugen und in ArrayList ablegen
es finden sich zwar einige Beispiele im WWW, aber dennoch werde ich nicht schlau und ersuche eure Hilfe. Folgendes Beispiel, ich möchte ein Team von mehreren Personen mit unterschiedlichen Eigenschaften in einer ArrayList ablegen. Die ArrayList erstelle ich mit
Code:
ArrayList <Person> al = new ArrayList <Person>();
Eine neue Person erstelle ich mit
Code:
Person p1 = new Person("Tim", 25);
und übergebe den Namen und das Alter in der Klammer für die Klasse Person.
Sagen wir, ich möchte dies im Programm zur Laufzeit machen.
Code:
ArrayList <Person> al = new ArrayList <Person>();
input = new Scanner(System.in);
System.out.print("Name eingeben: ");
String name = input.next();
System.out.print("Alter eingeben: ");
int alter = input.nextInt();
p1 = new Person("name,alter);
al.add(p1);
Das geht auch. Wie aber setze ich dies jetzt in einer Schleife um, die z.B. 5 Durchläufe machen soll?
Code:
ArrayList <Person> al = new ArrayList <Person>();
input = new Scanner(System.in);
for (int i=1;i>5;i++){
???
}
Idealerweise heißen die Objekte dann p1, p2, ... , p5.
Danke euch.
System.out.print("Name eingeben: ");
String name = input.next();
System.out.print("Alter eingeben: ");
int alter = input.nextInt();
p1 = new Person("name,alter);
al.add(p1);
iin die for-Schleife packst.
Vorher ev. noch abfragen, wieviele Personen angelegt werden sollen.
Danke. Die Schleife hatte ich schnell hingeschrieben, stimmt natürlich. Dass der Block in die Schleife gehört, wusste ich bereits. Ich weiß aber nicht, was ich da ändern muss. Da hilft mir deine Antwort noch nicht weiter
Wie werden denn Objekte in Collections sonst benannt? Sonderlich individuell finde ich p1, p2 nicht.
Ach ja, die for-Schleife sollte nur als Beispiel dienen. Eigentlich möchte ich solange Objekte erstellen, bis ich die Eingabe selbst abbreche. Dies ist aber nicht das Problem, nur die Erstellung der Objekte zur Laufzeit.
Danke für den Link! Hab es jetzt so hinbekommen und was gelernt:
Code:
ArrayList<Person> al = new ArrayList<Person>();
for (int i=1;i<5;i++){
input = new Scanner(System.in);
System.out.print("Name eingeben: ");
String name = input.next();
System.out.print("Alter eingeben: ");
int alter = input.nextInt();
al.add(new Konto(name,alter));
}
Die letzte Zeile war mir halt so noch nicht bekannt.