T
Tsag
Gast
hallo,
vorab:
den code kann ich leider nicht posten, da ich ihn momentan nicht zur verfuegung habe. wuesste aber auch nicht, ob das sinn macht, da er sehr lang ist.
ich habe ein programm geschrieben, welches eine textdatei einliest, die aus verschiedenen gleich aufgebauten abschnitten besteht. jeder abschnitt ist durch die zeichen ## getrennt und eindeutig anhand einer nummer Z zu benennen:
##
Z0002
zeile 1 dieses abschnitts
zeile 2 dieses abschnitts
...
zeile 42 dieses abschnitts
##
Z0003
...
zeile X dieses abschnitts
...
##
und so weiter
der benutzer muss am anfang eine nummer eingeben, je nachdem welchen datensatz er ausgegeben haben moechte. die nummern gehen von Z0001 bis Z0999, wobei nicht alle nummern belegt sind (es fehlt z.b. Z0004). insgesamt sind es 500 Z-abschnitte.
idee hinter der sache ist, dass man eine nummer eingibt und dann mit dem abschnitt der zwischen dieser nummer bis zum folgenden ## (hier endet schliesslich ein abschnitt und dahinter beginnt ein neuer) arbeiten kann. es werden dann fuer diesen abschnitt bestimmte berechnungen durchgefuehrt.
mit benutzereingabe funktioniert das auch alles soweit: benutzer gibt nummer ein, mehrere berechnungen werden ausgefuehrt und die ergebnisse auf der konsole ausgegeben.
allerdings stehe ich jetzt vor einer huerde, die ich auch nach tagen nicht loesen konnte:
ich moechte, dass alle datensaetze selbststaendig durchlaufen werden und dann eine simple tabelle (kein jtable o.ae., nur die werte getrennt durch tabs oder pipes oder sonst irgendwas) mit den ergebnissen meiner berechnungen ausgegeben wird. das ganze soll in ein einfaches *.txt-file.
klingt einfach, nicht wahr? ich schaffe es trotzdem nicht.
wie wuerdet ihr sowas realisieren?
der (fuer mich) sinnvollste ansatz war: eine schleife die 500 mal durchlaufen wird (da 500 abschnitte die jeweils einzeln berechnet werden sollen). wenn Z gefunden, durchlaufe abschnitt bis ## auftaucht: fuehre berechnungen aus, schreibe Z und ergebnisse in zeile 1 meiner tabelle. weiter zum naechsten Z und dort das gleiche, das ganze eben 500-fach.
aber da sowas partout nicht klappen will, wuerde ich gerne wissen ob es bessere ansaetze gibt. gerne auch mit java- oder pseudocode. momentan habe ich es nur geschafft, die einzelnen Z-nummern aus dem file auszulesen (einfach durchlaufen und wann immer ein Z auftaucht, diese zeile in ein array speichern). das untereinander auszugeben ist kein problem, aber wichtiger sind mir die berechneten werte.
momentan komme ich einfach nicht weiter, aber das kann doch so schwer nicht sein?!
danke fuer hilfe.
vorab:
den code kann ich leider nicht posten, da ich ihn momentan nicht zur verfuegung habe. wuesste aber auch nicht, ob das sinn macht, da er sehr lang ist.
ich habe ein programm geschrieben, welches eine textdatei einliest, die aus verschiedenen gleich aufgebauten abschnitten besteht. jeder abschnitt ist durch die zeichen ## getrennt und eindeutig anhand einer nummer Z zu benennen:
##
Z0002
zeile 1 dieses abschnitts
zeile 2 dieses abschnitts
...
zeile 42 dieses abschnitts
##
Z0003
...
zeile X dieses abschnitts
...
##
und so weiter
der benutzer muss am anfang eine nummer eingeben, je nachdem welchen datensatz er ausgegeben haben moechte. die nummern gehen von Z0001 bis Z0999, wobei nicht alle nummern belegt sind (es fehlt z.b. Z0004). insgesamt sind es 500 Z-abschnitte.
idee hinter der sache ist, dass man eine nummer eingibt und dann mit dem abschnitt der zwischen dieser nummer bis zum folgenden ## (hier endet schliesslich ein abschnitt und dahinter beginnt ein neuer) arbeiten kann. es werden dann fuer diesen abschnitt bestimmte berechnungen durchgefuehrt.
mit benutzereingabe funktioniert das auch alles soweit: benutzer gibt nummer ein, mehrere berechnungen werden ausgefuehrt und die ergebnisse auf der konsole ausgegeben.
allerdings stehe ich jetzt vor einer huerde, die ich auch nach tagen nicht loesen konnte:
ich moechte, dass alle datensaetze selbststaendig durchlaufen werden und dann eine simple tabelle (kein jtable o.ae., nur die werte getrennt durch tabs oder pipes oder sonst irgendwas) mit den ergebnissen meiner berechnungen ausgegeben wird. das ganze soll in ein einfaches *.txt-file.
klingt einfach, nicht wahr? ich schaffe es trotzdem nicht.
wie wuerdet ihr sowas realisieren?
der (fuer mich) sinnvollste ansatz war: eine schleife die 500 mal durchlaufen wird (da 500 abschnitte die jeweils einzeln berechnet werden sollen). wenn Z gefunden, durchlaufe abschnitt bis ## auftaucht: fuehre berechnungen aus, schreibe Z und ergebnisse in zeile 1 meiner tabelle. weiter zum naechsten Z und dort das gleiche, das ganze eben 500-fach.
aber da sowas partout nicht klappen will, wuerde ich gerne wissen ob es bessere ansaetze gibt. gerne auch mit java- oder pseudocode. momentan habe ich es nur geschafft, die einzelnen Z-nummern aus dem file auszulesen (einfach durchlaufen und wann immer ein Z auftaucht, diese zeile in ein array speichern). das untereinander auszugeben ist kein problem, aber wichtiger sind mir die berechneten werte.
momentan komme ich einfach nicht weiter, aber das kann doch so schwer nicht sein?!
danke fuer hilfe.