Zusammenführen mehrerer .txt Dateien

  • Themenstarter Themenstarter LenoX911
  • Beginndatum Beginndatum
L

LenoX911

Gast
Hallo Liebe Leute.. in der Schule haben wir gerade das Zusammenführen zweier .txt Dateien. Unser Lehrer gab uns zwei Dateien,
die eine beinhaltet die Kontonummer und den aktuellen Kontostand.
z.B.
1000012500120 250000
1000013000100 1235000
1000009100100 90000

Die zweite .txt Datei beinhaltet die Kontonummer und die Zu- bzw. Abbuchung.

1000012500120 +4500
1000013000100 +80000
1000009100100 -900000

Die Aufgabe lautet nun wie folgt:
Berechnen Sie in einer Ausgabe.txt den neuen Kontostand und geben Sie die dazu gehörige Kontonummer an. Bei Schulden sollen noch 2% darauf berechnet werden.

Also ich hab dann schonmal angefangen aber komm nicht weiter beim Zusammenführen der Dateien. Bitte um eure Hilfe!
Hier der Anfang

Java:
import.java.util.*;
import.java.io.*;
public class Kontostand
{
public static void main (String args[]) throws IOException
{
Scanner datei=new Scanner(new File("k1.txt"));
Scanner datei2=new Scanner(new File("k2.txt"));
PrintStream ausgabe=new Printstream (new File("nk.txt"));
String zeileninhalt;
String zeileninhalt2;
int kontonummer=0;
int kontostandA=0;
int kontostandN=0;

while (datei.hasNextLine()) {
zeileninhalt=datei.nextLine();
Scanner zeile=new Scanner (zeileninhalt);
kontonummer=zeile.nextInt();
kontostandA=zeile.nextInt();
} // end of while
 
Zuletzt bearbeitet von einem Moderator:
formatier den code vernünftig, dann ist er ohne
Code:
//end of while
lesbar

was zu tun ist:
Code:
kontodatei einlesen // hast du
alle konten in eine liste/map packen // ab hier fehlts
buchungsdatei einlesen
bei jeder buchung das entsprechende konto anpassen
nochmal über alle konto gehen und 2% gebühr bei negativen beträgen raufrechnen
 
Zum selbständigen Lösen von Aufgaben ist es immer gut, die Dokumentation zu lesen. Ist natürlich schwierig, wenn man nicht weiß, wonach man suchen soll. Da kann eine Forumsanfrage durchaus helfen. Was bone2 mit seiner Antwort meinte, war folgendes: Du brauchst eine Datenstruktur, die es Dir ermöglicht, per Kontonummer nach dem aktuellen Kontostand zu suchen. Da bietet sich die
Code:
Map
an. Nun kannst Du die ganzen Buchungsvorgänge in der Weise abarbeiten, dass Du per Kontonummer den aktuellen Kontostand suchst, die Buchung ausführst und den neuen Kontostand unter der Kontonummer abspeicherst. Die Dokumentation zu Map findest Du hier: Java Platform SE 7
Beispielcode liefert eine Google-Suche nach z.B. "Java Map example" Als Einstieg folgender Code:
Java:
// Die Map erstmal mit den Daten aus der ersten Datei füllen
Map<Integer,Integer> kontoStaende = new HashMap<>();
// Das hier für jede Zeile der ersten Datei
kontoStaende.put(<kontonummer_aus_zeile>, <kontostand_auszeile>);
....
// nun die Buchungsvorgänge aus der zweiten Datei ausführen
int kontoStand = kontoStaende.get(<Die_konto_Nummer>);
kontoStand = <Der_Buchungs_Vorgang>;
kontoStaende.put(<die_konto_nummer>, kontoStand);

Die Antwort "Lies die Doku" oder "Such bei Google" mag zwar etwas abgedroschen und unbefriedigend klingen. Aber genau das ist es, was Du lernen musst, wenn Du programmieren willst. Und genau das ist es auch mit Sicherheit, was Dein Lehrer von Dir erwartet.
 
Zuletzt bearbeitet von einem Moderator:

Zurück
Oben