Aus txt lesen und String Objekt übergeben?

Status
Nicht offen für weitere Antworten.

mamelinchen

Bekanntes Mitglied
Zu erstellen ist eineTextdatei ,in der die Vornamen,nachnamen ....stehen,ungeordnet.10 Zeilen.
In der Klasse Names sollen die Methoden public static List getTestNames() und public static List getTestNamesComparable(), die jeweils die txt einlesen ,für jede Zeile
ein Objekt (Person und ComparablePerson)erzeugen und alle Objekte in einer Liste zurückgeben.

Code:
    Person a=new Person("Ulla", "Popken", "1987", "08954");

Normalerweise lese ich ja die Strings mit ner while-Schleife ein mit readLine().
Eine Zeile ergibt eine Person.
Aber readLine() liest ja nun die gesamte Zeile ein und ich will ja die einzelnen Strings dem Person-Konstruktor übergeben.
Wie mach ich das?
Kann ich die einzelnen String je Zweile einlesen und Person übergeben?
Gibs ne Methode?Wenn ja,welche?
 
du speicherst den inhalt getrennt mit einem ; oder , in der Textdatei ab.

Hans Wurst; Würstchenbude 5; Bad Bockwurst

dannach liest du es zeilenweise ein und machst line.split(";");
Der Rückgabewert von split ist ein String Array mit den inhalten
 
Ahh!

So geht das auch🙂

Hab ein Weg ohne Split gefunden:

Code:
    String[] lines = new String[10];
        List<Person> namesList = new ArrayList<Person>();
        for (int i = 0; i < lines.length; i++) {
            lines[i] = read.readLine();
            Scanner in = new Scanner(lines[i]);
            while (in.hasNext()) {
                String one = in.next();
                String two = in.next();
                String three = in.next();
                String four = in.next();
                Person a = new Person(one, two, three, four);
                namesList.add(a);
            }
        }
        return namesList;


Geht auch, oder?
 
gehn tut vieles, nur was machst du wenn du neben Herrn Bockwurst auch Frau Sauerkraut haben willst?
Wird bei 2 Personen schon schwerer so wie dus gemacht hast und was ist mit 100? Schreibe lieber eine person in eine Zeile, wenn noch die Adresse dazu kommt später kannst dus sonst vergessen
 
Wieso. Hab doch 10 Personen eingelesen?
Die wurden mir auch alle ausgegeben.

Dozent meinte ist ok-
Und unsere Programmierasse habens auch so gemacht.
Wir kennen nunmal nix anderes.

Ich bin gerne offen für Neue Sachen!
Will ja ne gute Programmiererin werden=)

Split hat gefunzt, nur das ich alles mit Leerzeichen trenne und dann split(" ")
gemacht habe.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben