Parser: Flut von Variablen und if-Conditions eindämmen

Status
Nicht offen für weitere Antworten.

M.C.S.

Mitglied
Hallo,

ich möchte einen kleinen String-Parser schreiben, der mir 16 (in der Klasse fest definierte) Schlüsselworte ausliest und die dazugehörigen Values (durch TAB getrennt) speichert. Jetzt fällt mir dazu nur folgende Vorgehensweise ein:

Ich erstelle eine Klasse mit 16 Instanzvariablen.
Ich parse den String nach den Schlüsselworten.
Ich erstelle alle Getter, um auf die einzelnen Werte zugreifen zu können.

Genau an der Stelle bekomme ich Kopfschmerzen: So viele Variablen, und dann kommen beim Testen des Schlüsselwortes noch 16 if-Abfragen dazu, um den Value in der richtigen Variable zu speichern.

Geht das Ganze auch eleganter? Kann man (z.B. mit Hilfe von Reflections) Code einsparen und für mehr Übersicht sorgen?

Regards,
Marcus
 
B

Beni

Gast
Ganz verstanden, wie dein Algo läuft, habe ich nicht, aber: ich würde Arrays oder Listen verwenden, dann kannst du 10000 Schlüsselwörter machen, und benötigst lediglich 1 Schleife und 1 Instanzvariable :wink:

Für Listen: ArrayList ist praktisch. Du kannst aber auch Dinge die HashMap, TreeSet, ... angucken, in "java.util.*" findet man sehr viele nützliche Dinge.
 

M.C.S.

Mitglied
Ich poste mal ein paar String-Schnippsel:

Kugelschreiber 5 Mülleimer 2 unerwünschte Stringschnipsel Tacker 2

Ich möchte jetzt auslesen, wie viele Kugelschreiber (5), Mülleimer (2) und Tacker (ebenfalls 2) ich habe. Die Klasse heißt z.B. "Büroausstattung". Anschließend möchte ich dann den Bestand z.B. in einer Datenbank wegspeichern.

Ich hatte erst an eine HashMap gedacht (und auch schon fast verwendet), allerdings wird es dann schwierig mit dem Weiterverarbeiten der Daten, sofern die zu verwendende Datenbank-Tabelle andere Spaltennamen verwendet als die obigen Schlüsselwörter.

Hilft dir das, mein Problem zu verstehen? Ich muss Schlüsselworte von Nicht-Schlüsselworten unterscheiden und später direkt auf diese zugreifen können.
 
B

Beni

Gast
Also wenn die Datenbank immer mal was anderes macht, ist sowieso alles verloren :wink:

Aber was dich z.B. an sowas wie folgendem Code hindert, weiss ich nicht:
Code:
Set<String> keywords = ... // die werden früher mal gesetzt.
String input = ...

Map<String, Integer> occurences= new HashMap<String, Integer>();
for( String keyword : keywords ){
  // ob der Algorithmus fest kodierte Strings verwendet, oder
  // Variablen - das macht ja keinen Unterschied
  int count = netterAlgorithmusZähle( input, keyword );

  occurences.put( keyword, count );
}

// und hier weiss man für jedes Keyword, was für eine Zahl dazugehört.

?
 

M.C.S.

Mitglied
Hmm, mein Problem war wohl eher, dass ich die Möglichkeit übersehen habe, Datensätze Feld für Feld zu manipulieren. Ich war irgendwie darauf fixiert, alle Werte eines Datensatzes auf einen Rutsch aktualisieren zu müssen, aber das tut ja nicht unbedingt not.

Danke schön :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Ras Unterschied zwischen parser xml and api xml Java Basics - Anfänger-Themen 7
B Parser dynamisieren Java Basics - Anfänger-Themen 7
W Einfachen, ein beliebiges Zeichen oft erkennenden Regex Parser selber schreiben - wie vorgehen? Java Basics - Anfänger-Themen 12
D Input/Output CSV Parser list unvollständig Java Basics - Anfänger-Themen 25
U DOM Parser, kleine Frage Java Basics - Anfänger-Themen 29
H java date-time parser Java Basics - Anfänger-Themen 1
X SAX Parser, wie weit ist der eigentlich? Java Basics - Anfänger-Themen 6
O HTML -> BBCode Parser? Java Basics - Anfänger-Themen 3
J kleiner Fehler im FAQ Parser für mathematische Formeln Java Basics - Anfänger-Themen 5
H Welcher Html-Parser? Java Basics - Anfänger-Themen 8
M htlm parser Java Basics - Anfänger-Themen 8
U Benötige ich einen Parser? Java Basics - Anfänger-Themen 2
T Parser mit switch "Weg" ausgeben? Java Basics - Anfänger-Themen 5
A html parser Java Basics - Anfänger-Themen 5
T XML Parser Java Basics - Anfänger-Themen 21
data89 Frage zum FAQ-'Parser für mathematische Formeln' Java Basics - Anfänger-Themen 4
T Wofür Parser?? Java Basics - Anfänger-Themen 39
A Gettext-Parser: Rad neu erfinden Java Basics - Anfänger-Themen 6
G Eigener Parser Java Basics - Anfänger-Themen 4
G guter Parser Java Basics - Anfänger-Themen 4
G Parser liefert StackOverflow error Java Basics - Anfänger-Themen 6
L URL Parser (String zusammensetzen) Java Basics - Anfänger-Themen 2
G If-Parser + Interpreter Java Basics - Anfänger-Themen 9
E HTML Parser Java Basics - Anfänger-Themen 8
B Parser HTML Java Basics - Anfänger-Themen 10
J Noch ein Parser Problem Java Basics - Anfänger-Themen 7
J Richtigen Parser wählen Java Basics - Anfänger-Themen 2
A Parser Java Basics - Anfänger-Themen 4
O Welcher Object-Lock-Pool bei static Variablen? Java Basics - Anfänger-Themen 3
T variablen klassen übergreifend Java Basics - Anfänger-Themen 12
T Variablen Java Basics - Anfänger-Themen 1
N Verständnis Frage zu Variablen Java Basics - Anfänger-Themen 3
M Aufsummieren von variablen Wertegrößen Java Basics - Anfänger-Themen 17
M Mehrere Daten/ Variablen Speichern Java Basics - Anfänger-Themen 9
J Speichern von zwei Variablen durch Auslesen aus einem Numberfield Java Basics - Anfänger-Themen 2
ashi Variablen aufrufen Java Basics - Anfänger-Themen 17
U Warum kann ich, auf private Variablen zugreifen, wenn ich ein Objekt in der Klasse, die private Variablen hat erstelle und dort drauf zugreifen will? Java Basics - Anfänger-Themen 7
B Konkatenieren eines Strings und inkremtierenden Zahl zu einer INT Variablen Java Basics - Anfänger-Themen 7
A 2 Strings vergleichen in einer methode wenn man mit Globalen variablen arbeitet Java Basics - Anfänger-Themen 12
C Konstruktoren und Variablen Java Basics - Anfänger-Themen 42
F Auf Variablen eines Konstruktors zugreifen Java Basics - Anfänger-Themen 4
N Variable aus anderen Variablen in statischer Klasse berechnen/abspeichern? Java Basics - Anfänger-Themen 4
M Wie kann ich bei int-Variablen im exception handler auf bestimmte Strings reagieren? Java Basics - Anfänger-Themen 5
M Warum dürfen Objekte einer Klasse auf statische Variablen dieser Klasse referenzieren? Java Basics - Anfänger-Themen 10
B Variablen Variablen übertragen ohne Klassen Java Basics - Anfänger-Themen 5
B Methoden Methoden haben kein Zugriff auf variablen Java Basics - Anfänger-Themen 4
T Java Swing - Dreieck zeichnen mit verschiedenen Variablen Java Basics - Anfänger-Themen 8
Arif Vererbung Methodenvererbung mit finalen Variablen Java Basics - Anfänger-Themen 1
M Wie kann ich ein Objekt erstellen, wenn sich der Klassenname in einer Variablen befindet? Java Basics - Anfänger-Themen 10
S Variablen Variablen in einer Schleife erstellen lassen Java Basics - Anfänger-Themen 11
J Ich brauche Hilfe bei einem Code (Variablen speichern) Java Basics - Anfänger-Themen 29
F Variablen Werte einer Klasse überschreiben Java Basics - Anfänger-Themen 4
N Speichern von Werten in Variablen nach Schließen des Programms Java Basics - Anfänger-Themen 3
J Frage dazu Variablen klassenübergreifend zu verändern Java Basics - Anfänger-Themen 22
M Java Instanz-Variablen ? Java Basics - Anfänger-Themen 3
B Variablen von Methoden übertragen Java Basics - Anfänger-Themen 2
M Variablen umbenennen Java Basics - Anfänger-Themen 1
T Körper Brechnung - Lokale Variablen in Methoden übergeben Java Basics - Anfänger-Themen 10
P Zugriff auf Variablen anderer Klassen in Greenfoot Java Basics - Anfänger-Themen 1
mars90 Fehler in der Variablen Deklaration Java Basics - Anfänger-Themen 8
E Variablen in formatierter Ausgabe Java Basics - Anfänger-Themen 15
V Schleife für das Einlesen von Werten für int Variablen, die Bestandteil von Arrays sein sollen Java Basics - Anfänger-Themen 16
M Komisches Verhalten der Variablen Java Basics - Anfänger-Themen 6
H Variablen Multiplikation einer inkrementierten Variablen Java Basics - Anfänger-Themen 5
scratchy1 Variablen vertauschen wenn Bedingung "umgedreht" wird Java Basics - Anfänger-Themen 40
J Variablen mit einer anderen Klasse bekannt machen Java Basics - Anfänger-Themen 7
C Methoden Problem beim Speichern von Variablen Java Basics - Anfänger-Themen 1
A Übergreifende Variablen Java Basics - Anfänger-Themen 17
A Variablen Verständnisfrage bzgl. Variablen/Referenzen Java Basics - Anfänger-Themen 3
H Variablen Methode zum Abfragen von Variablen aus Subklassen Java Basics - Anfänger-Themen 9
P Variablen Variablen voneinander abhängig Java Basics - Anfänger-Themen 54
F Liste nach einer Variablen sortieren Java Basics - Anfänger-Themen 6
L Variablen in anderen Klassen nutzen Java Basics - Anfänger-Themen 6
M For-Schleife durch zwei versch. Variablen begrenzen Java Basics - Anfänger-Themen 27
J Klassen Variablen in andere Klassen oder Methoden übernehmen Java Basics - Anfänger-Themen 1
P Liste auslesen und in Variablen speichern Java Basics - Anfänger-Themen 7
temi Redundante Variablen Java Basics - Anfänger-Themen 29
Aprendiendo Zweifel mit versteckter Variablen Java Basics - Anfänger-Themen 16
L Variablen einmal nur zu weisen Java Basics - Anfänger-Themen 62
D Statische Variablen/Methoden Java Basics - Anfänger-Themen 3
R Abfrage von Variablen in Unterklassen einer ArrayList Java Basics - Anfänger-Themen 9
M Listener für Button - Wert von Variablen verändern Java Basics - Anfänger-Themen 14
S Vererbung Variablen klassenübergreifend nutzen Java Basics - Anfänger-Themen 42
R Auf Variablen einer anderen Klasse zugreifen? Java Basics - Anfänger-Themen 1
D Fehlermeldung obwohl Variablen bereits deklariert sind? Java Basics - Anfänger-Themen 14
E 2 Probleme - Datum & private finale Variablen Java Basics - Anfänger-Themen 5
Aruetiise Variablen JFrame und Variablen Java Basics - Anfänger-Themen 3
L Variablen dekleration + reset Java Basics - Anfänger-Themen 16
T Übernahme einer Variablen im ActionListener/ActionEvent Java Basics - Anfänger-Themen 2
D Kapselung final Variablen mit Getter? Java Basics - Anfänger-Themen 2
C Variablen von einem JFrame in einen anderen übertragen Java Basics - Anfänger-Themen 3
P Interface Variablen-Inhalte werden nicht übergeben Java Basics - Anfänger-Themen 3
C Variablen in Schleifen außerhalb verwenden Java Basics - Anfänger-Themen 2
S Variablen Flexible Variablen Namen Java Basics - Anfänger-Themen 3
R Erste Schritte 3 Variablen hochzählen lassen Java Basics - Anfänger-Themen 1
RowdyN Variablen Variablen beliebig benennen? Java Basics - Anfänger-Themen 6
S OOP Variablen zwischen mehreren Klassen Java Basics - Anfänger-Themen 11
T Koordinatensystem zeichnen - Variablen merken? Quadratische Funktion zeichnen? Java Basics - Anfänger-Themen 5
H Variablen einer Schleife zwischenspeichern Java Basics - Anfänger-Themen 2
P Klassen Variablen von einer Klasse zur anderen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben