Aufruf des Konstruktors

Status
Nicht offen für weitere Antworten.

juergenerwin

Aktives Mitglied
Hallo,

ich lese ein Textfile Zeile für Zeile aus, wobei n die Zeile darstellt:

Code:
         n = bh.readLine();

In der Zeile n sind nun viele Informationen, die ich gesondert in ArrayListen abspeichern möchte. Das heißt, dass sich ein einer Zeile etwa Vorname, Nachname, etc... befinden und ich ein eigenes Vornamen-Array, Nachnamen-Array, usw. anlegen möchte.
Auf diese Namen möchte ich später Zugriff haben:

Code:
  public ArrayList getNachname() {
    return nachname;
  }

Das Problem:
Das Auslesen der Information findet in einer anderen Klasse statt als das "filtern" und das beschreiben in die ArrayList. geholfen wäre mir wenn ich einen Konstruktoraufruf machen könnte, der nach dem Einlesen der Zeile statt findet. Also wenn n != 0 ist dann soll er die ganze Zeile an die KLasse Person respektive den Konstruktor Person übergeben.
Geht das und wenn ja wie?

Code:
      do {
        try {
          n = bh.readLine();
        }
        catch (IOException ex4) {
        }
        if (n != null) {

        }
      }
      while (n != null);


Danke
 
I

Ives

Gast
Theoretisch geht das, aber:

Deine Personenklasse sollte einen Konstruktor haben, der nicht vom Datenformat der eingelesenen Zeile abhängig ist. Baue die eine weitere Klasse die aus der Zeile ein Personenobjekt erzeugt (z. B. mit einee Methode public Person buildPersonFromLine(String line) o.ä.).

Beachte das n != null nicht identisch mit n != 0 ist. Deine Frage habe ich deswegen beim ersten Lesen nicht verstanden.
 

juergenerwin

Aktives Mitglied
Code:
  public Person(String n) {
    vorname.add(n.substring(0, 7));
    nachname.add(n.substring(12, n.length()).trim());   
  }

Wenn jedesmal ein neues Objekt aufgerufen wird, so werden in der ArrayList vorname nicht alle vornamen gesammelt, sondern es werden viele Obkjekte mit einer ArrayList vorname erstellt. Wobei in jeder vorname-ArrayList nur ein Name steht.
Oder sehe ich das Problem falsch?
 

Sky

Top Contributor
Ich verstehe gar nicht so recht, was Du vorhast... warum willst Du die einzelnen Parameter auf verschiedene ArrayListen verteilen???
Besser ist IMHO, eine ArrayList, die Personen einsammelt. Eine Person hat dann Eigenschaften wie Vorname, Nachname usw.
 
I

Ives

Gast
Ich glaube dein Ansatz stimmt nicht ganz. Mein Vorschlag

- Objekt Person mit Attributen name, vorname + getter/setter
- eine ArrayListe mit Personen-Objekten
- nach dem Einlesen jeder einzelnen Zeile ein Personenobjekt erzeugen und der ArrayListe hinzufügen

Schau die mal die Klasse StringTokenizer an. Deine Personen habe doch nicht immer einen Vornamen der 7 Zeichen lang ist.
 
B

bygones

Gast
es scheint die Programmlogik durcheinander gekommen zu sein. wie schon gesagt - trenne zwischen der Model Klasse (die reine Daten Klasse, in deinem Fall Personen) und wie du die Objekte speichern willst (bei dir in einer ArrayList).

D.h. die Liste hat in der Klasse Person nix zu suchen - erstelle in deinem hauptprogramm Personen per vor und nachname und füge diese dann in eine List ein !
 

juergenerwin

Aktives Mitglied
Nein,

ich bin stur und sage die Programmierlogik stimmt. Ich hole etwas weiter aus. Ich habe viele Textfiles, die ich eine nach der anderen auslese und in ArrayListen einsammle. Später schreibe ich diese Daten in eine Datenbank. Da nicht jedes Textfile Informationen für nur eine Tabelle in der Datenbank besitzt, mache ich eine Art Pufferspeicher in den Arrays, von wo aus ich mir die benötigten Informationen wie ich sie in die Datenbank schreiben möchte herausfiltere.
Fazit: Ich benötige Arraylisten.

Ein Textfile beinhaltet etwa die Informationen Vorname, Nachname,... die nun von einem solchen Textfile in die ArrayListen übertragen werden sollen. Die Arraylisten habe ich aber nun schon in Klassen (Objekten), die ich mit Zugriffsmethoden versehen habe, um die Informationen von einem Objekt in genau eine Tabelle zu schreiben.

Das ganze in kurz:
Ein Textfile besteht aus Vorname und Arbeitsadresse. Der Vorname kommt in die Klasse Person, da in der Datenbank eine Tabell namens Person existiert. Die Arbeitsadresse kommt in die Klasse Arbeitgeber, da in der Datenbank eine Tabelle mit dem Namen Arbeitgeber existiert.

Ziemlich kompliziert.

Übrigens n ist ein String und stellt eine eingelesene Zeile aus dem Textfile dar.

Danke
 

mic_checker

Top Contributor
Du liest die Zeile ein, splittest die Zeile so auf das du die einzelnen Komponenten in die jeweiligen ArrayList hinzufügen kannst du das wars - oder nicht ? Mit den Personendaten erzeugst du ein Objekt vom Typ Person etc.

Diese Objekte sollen nun in die DB (oder auch noch in ne ArrayList ?) ? Bin eben erst aufgestanden, also entschuldige falls ich hier alles falsch verstanden hab...

nichts desto trotz finde ich diesen ansatz nicht sonderlich sauber.
 

juergenerwin

Aktives Mitglied
mic_checker schreibts ins kurz. Genauso mache ich es. Ob sauber oder nicht, falls dieses Problem gelöst ist und ich wenigstens eine mögliche Lösung habe, nehme ich natürlich gerne Verbesserungsvorschläge an. Nichts desto trotz bin ich mir ziemlich sicher, dass dieses Konzept bestehen bleibt (Randbedingungen). Ich habe mir echt den Kopf darüber zerbrochen wie es am schlauesten von statten geht.
Aber jeder macht Fehler zudem ich in der Liste der Fehlermachenden bestimmt noch einen vorderen Platz einnehmen würde.
 

mic_checker

Top Contributor
ja ok, dann ist (mir) ja klar was du willst - nur wo tauchen Probleme auf ?

Du liest die Zeile ein . SOweit ok.

Dann splittest du die Zeile nach best. Delimitern (in deinem Fall wohl nach Leerzeichen) - mit String.split(...)

Die einzelnen Komponenten des von split zurückgegebenen Arrays fügst du den einzelnen ArrayLists hinzu.

Außerdem erzeugst du neue Objekte anderer Klassen wie Person etc. , die du zur Speicherung der Daten noch benötigst.

Wo ist da konkret das Problem ? (Falls es so stimmt)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Im Konstruktor: aufruf eines anderen Konstruktors Java Basics - Anfänger-Themen 7
T Aufruf der Methode einer Oberklasse, wenn sie in der Unterklasse überschrieben ist. Polymorphie. Java Basics - Anfänger-Themen 2
M Konstruktor-Aufruf im Konstruktor, aber nicht am Anfang? Java Basics - Anfänger-Themen 4
P Array-Objekte-Aufruf Java Basics - Anfänger-Themen 22
Agent4nobody Programmstart durch aufruf des interpreters funktioniert nicht Java Basics - Anfänger-Themen 14
G Main Methode wird beim ersten Aufruf nicht richtig ausgeführt Java Basics - Anfänger-Themen 1
K Erste Schritte Stream-Aufruf vereinfachen Java Basics - Anfänger-Themen 3
sashady ursprüngliche Array-Werte bei erneutem Aufruf? Java Basics - Anfänger-Themen 7
M Aufruf von statischen Methoden einer anderen Klasse Java Basics - Anfänger-Themen 15
Y Aufruf von Methode nicht möglich. Java Basics - Anfänger-Themen 2
D Aufruf von mehreren Activities bringt die app zum Absturz Java Basics - Anfänger-Themen 5
L Methoden Wie Löse ich ext Methoden Aufruf Fehler? Java Basics - Anfänger-Themen 3
X Methode bei mehrfachen Aufruf kein Effekt Java Basics - Anfänger-Themen 3
H Aufruf von Methoden durch Methoden Java Basics - Anfänger-Themen 3
B EJB und Arquillian - bekomme Nullpointer Exception beim Aufruf der EJB Klasse Java Basics - Anfänger-Themen 40
O Verwirrt beim Java Collection Framework aufruf! Java Basics - Anfänger-Themen 9
T Konsolenscanner startet nicht durch Aufruf von Actionlistener Java Basics - Anfänger-Themen 4
B OOP While Schleife läuft Endlos durch externen aufruf Java Basics - Anfänger-Themen 2
E Vererbung super-Methoden Aufruf Java Basics - Anfänger-Themen 3
D Interface Wieso Aufruf aller Methoden eines Interfaces? Java Basics - Anfänger-Themen 11
R Methoden NPE beim Aufruf einer Methode einer anderen Klasse Java Basics - Anfänger-Themen 4
J Aufruf einer Methode über einen String Java Basics - Anfänger-Themen 11
A Aufruf von Konstruktor , obwohl 2 Parameter weggelassen werden Java Basics - Anfänger-Themen 7
A Aufruf von Konstruktor , obwohl 2 Parameter weggelassen werden Java Basics - Anfänger-Themen 0
H Rekursiver Aufruf Java Basics - Anfänger-Themen 8
E Daten dem Super Aufruf übergeben Java Basics - Anfänger-Themen 3
D Interface Frame doppelt durch Aufruf der GUI Klasse Java Basics - Anfänger-Themen 1
Henri Aufruf von getX() und getY() aus der Super klasse Objekt() Java Basics - Anfänger-Themen 3
E Aufruf auf Objekt mit übergebenem Wert? Java Basics - Anfänger-Themen 7
D Aufruf einer statischen Variable Java Basics - Anfänger-Themen 1
D Aufruf einer Methode einer anderen Klasse Java Basics - Anfänger-Themen 39
T static String Variable wird nur beim ersten aufruf durch eine Funktion geändert. Java Basics - Anfänger-Themen 16
C Erste Schritte Fehler beim *.class Aufruf über cmd.exe Java Basics - Anfänger-Themen 9
M Speichern von Objekten - Verfügbarkeit bei erneutem Aufruf Java Basics - Anfänger-Themen 3
S PHP Aufruf mit mehreren Variablen Java Basics - Anfänger-Themen 2
P Aufruf Methode anderer Klasse Java Basics - Anfänger-Themen 5
J Klassen Reihenfolge beim Aufruf von Klassen Java Basics - Anfänger-Themen 1
V Problem Aufruf einer Methode in einer Methode Java Basics - Anfänger-Themen 1
O Frage zum Aufruf überladener Methoden Java Basics - Anfänger-Themen 4
G funktions Aufruf aus GUI Java Basics - Anfänger-Themen 9
A Fehlermeldung beim aufruf der main Methode Java Basics - Anfänger-Themen 17
I Rückgabe und Aufruf einer Methode innerhalb einer anderen Methode Java Basics - Anfänger-Themen 5
W Zeitversetzter Aufruf der Methoden Java Basics - Anfänger-Themen 6
M Unbekannte Nummer bei Aufruf der toString Methode Java Basics - Anfänger-Themen 3
D Methode mit mehren Rekursiven aufrufen in Methode mit einem Rekursiven Aufruf umwandeln! Java Basics - Anfänger-Themen 1
F signiertes Applet fkt. nicht bei lokalem Aufruf Java Basics - Anfänger-Themen 2
A externer repaint Aufruf Java Basics - Anfänger-Themen 9
H Aufruf einer Instanzmethode funktionert nicht. Java Basics - Anfänger-Themen 6
A Konstruktor Aufruf Java Basics - Anfänger-Themen 4
Pentalon Ein Aufruf den ich nicht verstehe Java Basics - Anfänger-Themen 11
D dynamischer Aufruf Java Basics - Anfänger-Themen 2
N Aufruf der Methode Java Basics - Anfänger-Themen 16
L Next()-Aufruf zweimal innerhalb einer While-Schleife bei ListIterator Java Basics - Anfänger-Themen 10
S Aufruf Einer Methode aus einer anderen Klasse - Static Fehler Java Basics - Anfänger-Themen 4
A Aufruf der paint() Methode Java Basics - Anfänger-Themen 3
K Problem beim Array aufruf Java Basics - Anfänger-Themen 4
P URL für Lokalen Aufruf Java Basics - Anfänger-Themen 5
C OOP Aufruf von Methoden höherer Sichtbarkeit Java Basics - Anfänger-Themen 10
T Client-Fenster bei Aufruf unvollständig Java Basics - Anfänger-Themen 12
S Überladener Konstruktor und aufruf aus eigener Klasse Java Basics - Anfänger-Themen 2
A Aufruf von Konstruktor aus Basisklasse Java Basics - Anfänger-Themen 7
O OOP super aufruf 2 objekte? Java Basics - Anfänger-Themen 3
D Array Methoden Aufruf. Java Basics - Anfänger-Themen 14
L Klassen Aufruf einer ueberschreibbaren Methode im Konstruktor Java Basics - Anfänger-Themen 4
M OOP Aufruf vieler Getter Methoden abkürzen? Java Basics - Anfänger-Themen 7
Q Aufruf einer Klasse in einem Package Java Basics - Anfänger-Themen 7
C Aufruf funktioniert nicht Java Basics - Anfänger-Themen 10
T Aufruf einer Methoden aus einer Util-Klasse mit privatem Konstruktor Java Basics - Anfänger-Themen 7
G Aufruf externer Funktionen Java Basics - Anfänger-Themen 7
C Exception beim Aufruf einer Methode Java Basics - Anfänger-Themen 2
A Aufruf einer Methode Java Basics - Anfänger-Themen 3
J Aufruf von Funktionen in *.jar mittels Eclipse Java Basics - Anfänger-Themen 4
T Shell Script Aufruf mit Java Java Basics - Anfänger-Themen 7
R Aufruf statische Methode Java Basics - Anfänger-Themen 7
M Aufruf zum Objekt erstellen aus String Java Basics - Anfänger-Themen 5
K OOP Nachteil bei direktem Aufruf von run() auf Thread-Objekten Java Basics - Anfänger-Themen 2
J Aufruf der Methode Java Basics - Anfänger-Themen 6
P OOP Aufruf eines Interfaces Java Basics - Anfänger-Themen 4
E Konstruktor-Aufruf Java Basics - Anfänger-Themen 9
C Aufruf einer Funktion Java Basics - Anfänger-Themen 3
W Multiplikation mit rekursivem Aufruf Java Basics - Anfänger-Themen 17
C exec Aufruf mit Leerzeilen im Pfad Java Basics - Anfänger-Themen 3
L Methoden aufruf Java Basics - Anfänger-Themen 3
M methoden aufruf klappt nicht Java Basics - Anfänger-Themen 6
M Frage zum Aufruf eines Applets aus einer HTML - Datei Java Basics - Anfänger-Themen 3
N Methoden aufruf Java Basics - Anfänger-Themen 7
K Methoden aufruf von einer anderen Klasse Java Basics - Anfänger-Themen 7
S super() aufruf ausgabe Java Basics - Anfänger-Themen 3
L Mehrere Objekte einer Klasse aber nur einmal Konstruktor aufruf? Java Basics - Anfänger-Themen 2
M Probleme beim Aufruf von Listener in anderer Klasse Java Basics - Anfänger-Themen 9
F Aufruf von Methoden hintereinander gechachtelt??? Java Basics - Anfänger-Themen 8
E Mehrfache print ausgabe ohne Schleife oder Rekursiven aufruf? Java Basics - Anfänger-Themen 48
radiac CMD Windowskonsole und java aufruf in Vista 64 Java Basics - Anfänger-Themen 2
D Aufruf von WGET aus Java Java Basics - Anfänger-Themen 5
F Variabler Aufruf einer Methode Java Basics - Anfänger-Themen 10
F Methoden Aufruf Java Basics - Anfänger-Themen 4
L abgeleitete Klasse - Aufruf mit vererbter Klasse? Java Basics - Anfänger-Themen 2
T aufruf methode in methode macht probleme Java Basics - Anfänger-Themen 9
P seltsamer konsolen aufruf Java Basics - Anfänger-Themen 8
E Frage zum Objekt aufruf Java Basics - Anfänger-Themen 3

Ähnliche Java Themen


Oben