Java Bank Programm. Brauche Hilfe!

FreakyLetsFail

Grünschnabel
Hey, cool das du dich Interessierst und mir Helfen möchtest.
Ich weiß die Klasse ist absolut noch nicht fertig jedoch habe ich Schwierigkeiten den Kontostand richtig wieder in meine Text Datei einzutragen.... Ich hoffe du kannst mir helfen.

-----------------------------------------------------------------------------------------------------

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;
public class Konto_Erstellen {
public static void main(String[] args) {

Konto_StartWebsite ksw = new Konto_StartWebsite();
Scanner scan = new Scanner(System.in);



String I = "[Info] ";
String Vorname, Nachname, Adresse, Hausnummer, Postleitzahl, Telefonnummer, Staatsbuergerschaft;
int Guthaben = 0;
System.out.println(I + "Danke das Sie sich entschieden haben Ihr Konto bei uns anzulegen.");
System.out.println();
System.out.println();
System.out.println();


System.out.print(" Bitte geben Sie Ihren Vornamen an: ");
Vorname = scan.next();

System.out.print(" Bitte geben Sie Ihren Nachnamen an: ");
Nachname = scan.next();

System.out.print(" Bitte geben Sie Ihre Postleitzahl an: ");
Postleitzahl = scan.next();

System.out.print(" Bitte geben Sie Ihre Adresse an: ");
Adresse = scan.next();

System.out.print(" Bitte geben Sie Ihre Hausnummer an: ");
Hausnummer = scan.next();

System.out.print(" Bitte geben Sie Ihre Telefonnummer an: ");
Telefonnummer = scan.next();

System.out.print(" Bitte geben Sie Ihre Staatsbuergerschaft an: ");
Staatsbuergerschaft = scan.next();




System.out.println();
System.out.println();
System.out.println();
System.out.println("Ihre Daten lauten also wie folgt.");
System.out.println("[Vorname] "+Vorname);
System.out.println("[Nachname] "+Nachname);
System.out.println("[Postleitzahl] "+Postleitzahl);
System.out.println("[Adresse] "+Adresse);
System.out.println("[Hausnummer] "+Hausnummer);
System.out.println("[Telefonnummer] "+Telefonnummer);
System.out.println("[Staatsbürgerschaft] "+ Staatsbuergerschaft);

System.out.print("Möchten Sie jetzt verbindlich ein Konto erstellen? ");



String s = scan.next();
if (s.equals("Ja")) {


PrintWriter pWriter = null;
try {
pWriter = new PrintWriter(new BufferedWriter(new FileWriter(Nachname + ".txt")));
pWriter.println(Guthaben+"€");
pWriter.println(Vorname);
pWriter.println(Nachname);
pWriter.println(Postleitzahl);
pWriter.println(Adresse);
pWriter.println(Hausnummer);
pWriter.println(Telefonnummer);
pWriter.println(Staatsbuergerschaft);

} catch (IOException ioe) {
ioe.printStackTrace();
} finally {
if (pWriter != null){
pWriter.flush();
pWriter.close();
}
}

System.exit(0);
}


if (s.equals("Nein")){
System.out.println("\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ");
ksw.main(args);
}


}
}

-----------------------------------------------------------------------------------------------------------------------
import java.io.*;
import java.util.Scanner;
public class Konto_Anmelden {
public static void main(String[] args) throws IOException {
Konto_Anmelden ka = new Konto_Anmelden();
Konto_StartWebsite ksw = new Konto_StartWebsite();
String Nachname;
int GuthabenEin , GuthabenAus ;
String e;
Scanner sc = new Scanner(System.in);

System.out.println("Bitte Nennen sie Ihren Nachnamen");
Nachname = sc.next();
FileReader fr = new FileReader (Nachname + ".txt");
BufferedReader br = new BufferedReader(fr);
String zeile1 = br.readLine();
System.out.println(zeile1);
String zeile2 = br.readLine();
System.out.println(zeile2);
String zeile3 = br.readLine();
System.out.println(zeile3);
String zeile4 = br.readLine();
System.out.println(zeile4);
String zeile5 = br.readLine();
System.out.println(zeile5);
String zeile6 = br.readLine();
System.out.println(zeile6);
String zeile7 = br.readLine();
System.out.println(zeile7);
String zeile8 = br.readLine();
System.out.print(zeile8);
System.out.println("\n"+zeile1);

System.out.print("\nWenn Sie Geld einzahlen wollen schreiben Sie bitte [Einzahlung]\n");
System.out.print("\nWenn Sie Geld abbuchen wollen schreiben Sie bitte [Abbuchen] \n \n");
String s = sc.next();

if(s.equals("Einzahlung")) {
System.out.print("Wie viel Geld möchten Sie Einzahlen?\n");
GuthabenEin = sc.nextInt();
boolean kleiner = (GuthabenEin < 500);
boolean größer = (GuthabenEin > 500);
boolean gleich = (GuthabenEin == 0);

if(größer) {
System.out.println("\n \n \n");
System.out.println("[Fehlermeldung] Probieren Sie es mit einem geringeren Betrag aus!");
System.out.println("\n \n \n");
ka.main(args);

}
if(kleiner) {
System.out.println("Bitte bestätigen Sie Ihre Einzahlung mit [Y]");
String s1 = sc.next();
if (s1.equals("Y")) {
System.out.println("Ihre Einzahlung wird bearbeitet.");
System.out.println(GuthabenEin+ "€ werden auf Ihr Konto eingezahlt.");
System.out.println("Ihre Einzahlung wurde abgeschlossen!");
}else{
System.exit(0);
}

e = GuthabenEin+zeile1;

PrintWriter pWriter = null;
try {
pWriter = new PrintWriter(new BufferedWriter(new FileWriter(Nachname + ".txt")) );
pWriter.println(e);
pWriter.println(zeile2);
pWriter.println(zeile3);
pWriter.println(zeile4);
pWriter.println(zeile5);
pWriter.println(zeile6);
pWriter.println(zeile7);
pWriter.println(zeile8);
} catch (IOException ioe) {
ioe.printStackTrace();
} finally {
if (pWriter != null){
pWriter.flush();
pWriter.close();
}
}
}


}
if(s.equals("Abbuchen")) {

}
}
}
 
Ich schließe mich in erster Linie vfl_freak anstandslos an. Und deine Einleitung find ich mal spannend ;-)

Zusätzliche Kommentare/Hinweise:
1) Bitte halte dich doch an die Java Konventionen und schreibe Variablennamen klein.
2) Du hast z.B. if(Ja) if(nein)... Was machst du wenn der Kunde etwas völlig Anderes eingibt oder sich vertippt? Dafür gibt es else if und else!
3) Du vergleichst ob größer/kleiner 500 und ob gleich 0. Aber was machst du bei gleich 500? Ein Vergleich müsste <= oder >= sein.
4) e = GuthabenEin+zeile1; Du Hängst hier deinen Betrag einfach an den bestehenden Betrag vorne an. Zahlst du 10€ auf 5€ ein hast du danach einen Betrag von 105€. Du musst schon Zahlen addieren.
 
Ich schließe mich in erster Linie vfl_freak anstandslos an. Und deine Einleitung find ich mal spannend ;)

Zusätzliche Kommentare/Hinweise:
1) Bitte halte dich doch an die Java Konventionen und schreibe Variablennamen klein.
2) Du hast z.B. if(Ja) if(nein)... Was machst du wenn der Kunde etwas völlig Anderes eingibt oder sich vertippt? Dafür gibt es else if und else!
3) Du vergleichst ob größer/kleiner 500 und ob gleich 0. Aber was machst du bei gleich 500? Ein Vergleich müsste <= oder >= sein.
4) e = GuthabenEin+zeile1; Du Hängst hier deinen Betrag einfach an den bestehenden Betrag vorne an. Zahlst du 10€ auf 5€ ein hast du danach einen Betrag von 105€. Du musst schon Zahlen addieren.

Danke das du geantwortet hast und mit versuchst zu helfen!
Um die ersten 3 Punkte werde ich mich kümmern. Ich wollte nur das es schon etwas funktioniert.
Und Punkt 4. Kannst du mir bitte helfen ? Das ist der Punkt wo ich komplett durchdrehe und nicht weiß wie ich es machen soll.
lg Justus
 
Du musst 5€ zuvor auf einen Integer parsen. Dafür empfehle ich das € Zeichen gar nicht erst mit in die Datei zu schreiben.
Parsen tust du z.B. so:

Java:
String eingelesenAusDatei = "5";
  int neuAusEingabe = 10;
 
  System.out.println(neuAusEingabe + Integer.parseInt(eingelesenAusDatei));
 
Zurück