R
Reiner Wissensdurst
Gast
Hallo zusammen,
(ganz kurz):Bisher habe ich dieses Forum nur passiv genutzt, um meine vielen Programmierfragen als Java-Anfänger zu lösen. Das hat immer gut geklappt! Jetzt habe ich jedoch ein Problem, ohne auf die Lösung gestoßen zu werden:
Ich habe eine Arraylist. Diese enthält Objekte mit Namen und wiederum einer Arraylist.
Das Auslesen der verschaltelten Einträge in einer Schleife klappt nicht - und weil ich das Prinzip nicht verstanden habe, klappt auch das Auslesen der Anzahl der Einträge nicht.
Ich tippe mal, ich "caste" falsch. Nur wieso?
Thank you in advance.
(ganz kurz):Bisher habe ich dieses Forum nur passiv genutzt, um meine vielen Programmierfragen als Java-Anfänger zu lösen. Das hat immer gut geklappt! Jetzt habe ich jedoch ein Problem, ohne auf die Lösung gestoßen zu werden:
Ich habe eine Arraylist. Diese enthält Objekte mit Namen und wiederum einer Arraylist.
Das Auslesen der verschaltelten Einträge in einer Schleife klappt nicht - und weil ich das Prinzip nicht verstanden habe, klappt auch das Auslesen der Anzahl der Einträge nicht.
Ich tippe mal, ich "caste" falsch. Nur wieso?
Thank you in advance.
Java:
package java_lernen;
import java.util.*;
public class Java_lernen {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Datensatz ds = new Datensatz();
List<Datensatz> datenbank = new ArrayList<>();
ds.setName("Wissensdurst");
// mehrere Strings in einen Datensatz eintragen
for (int i = 0; i <= 4; i++) {
ds.setEintrag("Eintrag Nr.:" + i);
}
//Datensatz in Datenbank eintragen
datenbank.add(ds);
/*
Problem:
Ausgabe aller Einträge EINES Datensatzes in einer Schleife
for ( <type> <variable> : <array> )
<loop body>
*/
// das geht NICHT!
for (Datensatz elem: datenbank) {
System.out.println( (String)datenbank.get(0).getEintrag(elem) );
}
// so soll das sein!
System.out.println(datenbank.get(0).getEintrag(0));
System.out.println(datenbank.get(0).getEintrag(1));
System.out.println(datenbank.get(0).getEintrag(2));
System.out.println(datenbank.get(0).getEintrag(3));
System.out.println(datenbank.get(0).getEintrag(4));
/*
nächstes Problem:
Wie ermittle ich die Anzahl der EINTRÄGE eines DATENSATZES?
*/
// Gibt nur die Anzahl der Datensätze aus
System.out.println(datenbank.size());
}
}
class Datensatz {
private String Name;
private final ArrayList<String> eintrag;
public Datensatz() {
eintrag = new ArrayList<>();
}
public String getName() {
return Name;
}
public void setName(String Name) {
this.Name = Name;
}
public void setEintrag(String datum) {
eintrag.add(datum);
}
public String getEintrag(int nr) {
String ein = eintrag.get(nr);
return ein;
}
}