N
Noob123
Gast
Hallo Java- Freunde!
Habe ein Problem mit meinem kleinen KontoProgramm:
Ich will die 1. Option als Methode machen und private deklarieren, aber er sieht die Variable in der Klasse nicht mehr, wenn ich die Methode schreibe, dabei ist sie doch da!??
Habe ein Problem mit meinem kleinen KontoProgramm:
Ich will die 1. Option als Methode machen und private deklarieren, aber er sieht die Variable in der Klasse nicht mehr, wenn ich die Methode schreibe, dabei ist sie doch da!??
Code:
import java.io.*;
class Konto{
private int saldoEuro, saldoCent, kontoNr;
private String name;
void kontoAnlegen(BufferedReader input, int ktoZaehler) throws IOException{
System.out.println("Bitte geben Sie Ihren Namen ein:");
this.name = input.readLine();
this.kontoNr = ktoZaehler;
System.out.println("Vielen Dank, "+this.name+"! Ihre Konto-Nummer ist "+this.kontoNr+".");
}
void printSaldo(){
if(this.saldoCent<10){
System.out.println("\nKonto Nr: "+this.kontoNr+"\nKonto-Inhaber: "+this.name+"\nSaldo: "+this.saldoEuro+",0"+this.saldoCent+" Euro\n");
}
else System.out.println("\nKonto Nr: "+this.kontoNr+"\nKonto-Inhaber: "+this.name+"\nSaldo: "+this.saldoEuro+","+this.saldoCent+" Euro\n");
}
void einzahlen(int betragEuro, int betragCent){
this.saldoEuro += betragEuro;
this.saldoCent += betragCent;
}
void auszahlen(int betragEuro, int betragCent){
if (this.saldoEuro > betragEuro || this.saldoEuro==betragEuro && this.saldoCent>=betragCent){
this.saldoEuro -= betragEuro;
this.saldoCent -= betragCent;
System.out.println("Bitte entnehmen Sie nun das Geld aus dem CD-ROM-Laufwerk \n");
}
else System.out.println("Ihr Guthaben ist zu niedrig, Dispo-Kredite kriegen Sie bei uns nicht!!!\n");
}
}
class KontoFuehrung3{
KontoFuehrung3() throws IOException{
Konto konto1 = null;
Konto konto2 = null;
Konto konto3 = null;
int kzaehler = 0, eingabe=0;
int kNrEinzahlung, euroEinzahlung, centEinzahlung;
int kNrAuszahlung, euroAuszahlung, centAuszahlung;
BufferedReader ein = new BufferedReader(new InputStreamReader(System.in));
while (eingabe!=5){
System.out.println("\n - KONTOFUEHRUNG -\n");
System.out.println("Hallo! Bitte waehlen Sie eine der folgenden Optionen:\n");
System.out.println("-1- Konto anlegen");
System.out.println("-2- Ausgabe aller Kontosalden");
System.out.println("-3- Einzahlen auf Ihr Konto");
System.out.println("-4- Auszahlen von Ihrem Konto");
System.out.println("-5- Beenden \n");
eingabe = Integer.parseInt(ein.readLine());
if(eingabe ==1 )this.option1();
else if (eingabe==2 && kzaehler!=0){
if (konto1!=null) konto1.printSaldo();
if (konto2!=null) konto2.printSaldo();
if (konto3!=null) konto3.printSaldo();
System.out.println("\n");
}
else if (eingabe==3 && kzaehler!=0){
System.out.println("\n Willkommen beim Einzahl-Dialog!\n");
System.out.println("Bitte geben Sie Ihre Konto-Nr ein:");
kNrEinzahlung = Integer.parseInt(ein.readLine());
System.out.println("Wie viel Euro (keine Cent!) moechten Sie heute einzahlen?");
euroEinzahlung = Integer.parseInt(ein.readLine());
System.out.println("Und wie viel Cent moechten Sie heute einzahlen?");
centEinzahlung = Integer.parseInt(ein.readLine());
if (kNrEinzahlung == 1 && konto1 != null){
konto1.einzahlen(euroEinzahlung, centEinzahlung);
konto1.printSaldo();
}
else if (kNrEinzahlung == 2 && konto2 != null){
konto2.einzahlen(euroEinzahlung, centEinzahlung);
konto2.printSaldo();
}
else if (kNrEinzahlung == 3 && konto3 != null){
konto3.einzahlen(euroEinzahlung, centEinzahlung);
konto3.printSaldo();
}
else System.out.println("Falsche Konto-Nr! Dieses Konto existiert nicht!!");
}
else if (eingabe==4 && kzaehler!=0){ //Auszahlen ist analog zu einzahlen!
System.out.println("\n Willkommen beim Auszahl-Dialog!\n");
System.out.println("Bitte geben Sie Ihre Konto-Nr ein:");
kNrAuszahlung = Integer.parseInt(ein.readLine());
System.out.println("Wie viel Euro (keine Cent!) moechten Sie heute ausgezahlt bekommen?");
euroAuszahlung = Integer.parseInt(ein.readLine());
System.out.println("Und wie viel Cent moechten Sie heute ausgezahlt bekommen?");
centAuszahlung = Integer.parseInt(ein.readLine());
if (kNrAuszahlung == 1 && konto1 != null){
konto1.auszahlen(euroAuszahlung, centAuszahlung);
konto1.printSaldo();
}
else if (kNrAuszahlung == 2 && konto2 != null){
konto2.auszahlen(euroAuszahlung, centAuszahlung);
konto2.printSaldo();
}
else if (kNrAuszahlung == 3 && konto3 != null){
konto3.auszahlen(euroAuszahlung, centAuszahlung);
konto3.printSaldo();
}
else System.out.println("Falsche Konto-Nr! Dieses Konto existiert nicht!!");
}
}
}
private void option1(){
System.out.println("Konto anlegen \n");
switch (this.kzaehler){
case 0: {kzaehler++;
konto1 = new Konto();
konto1.kontoAnlegen(ein,kzaehler);
break;
}
case 1: {kzaehler++;
konto2 = new Konto();
konto2.kontoAnlegen(ein,kzaehler);
break;
}
case 2: {kzaehler++;
konto3 = new Konto();
konto3.kontoAnlegen(ein,kzaehler);
break;
}
default: System.out.println("Unsere Kapazitaeten sind leider schon erschoepft!\n");
}
}
public static void main(String[] args) throws IOException{
new KontoFuehrung3();
}
}