# Geldautomat



## demarc (5. Nov 2009)

Hey Freunde,

also bin ganz neu in der Java Welt aber motiviert zu lernen. Wir müssen gerade als Aufgabe ein Geldautomat schreiben, der auflistet welche Anzahl an scheinen ausgegeben wird und welcher Betrag noch auf dem Konto ist. Außerdem muss der Kontostand dann als Kommazahl und nicht mit einem Punkt angegeben werden.

An sich habe ich das Programm durch meinen Wissenstand auch schon fertig. Was mich aber total nervt, ist dass die Kontonummer die eingegeben wird nicht überprüft wird. Meine festgelegte Kontonummer ist 10 mal die 1 (1111111111). Gebe ich jetzt aber über die Konsole "132" ein macht er einfach weiter. 

Über 

```
if (kontonummer != 1111111111) 
System.out.println("falsche Kontonummer");
```

kann ich dem Benutzer zwar sagen, dass es die falsche Nummer war aber ich bekomm es nicht hin, dass mein Programm dann abbricht und nur weiter macht, wenn die Nummer richtig ist.

über "break oder continue" komm ich nicht weiter.

wäre über ein Tipp dankbar...aber wenn es geht keine komplette Lösung sonst mach ich eh nur Copy/Paste 

Und stört euch bitte nicht an den vielen Kommentaren, aber für den Anfang hilft es mir besser.

Danke schon mal


```
public class GeldAutomat {

	/**
	 * author: marc
	 * TS1 GR B
	 * 
	 * */
	long kontonummer = 1111111111L;

	public static void main(String[] args) {
		
		// Kontostand mit 500034 Cent festgelegt
		int kontostand = 500034;

		
		// Eingabe Abfrage von Kontonummer und abzuhebender Betrag
		System.out.println("Bitte geben Sie Ihre Kontonummer ein:");
		int kontonummer = In.readInt();

		System.out.println("Bitte geben Sie Ihren abzuhebenden Betrag ein:");
		int betrag = In.readInt();

		// Abzuhebenden Betrag auf Cent rechnen
		betrag = betrag * 100;
		kontostand = kontostand - betrag;

		betrag = betrag / 100;
		// Berechnung der Scheinausgabe
		System.out.println();
		System.out.println(betrag / 50 + "x 50 Euro Scheine");
		betrag = betrag % 50;

		System.out.println();
		System.out.println(betrag / 20 + "x 20 Euro Scheine");
		betrag = betrag % 20;

		System.out.println();
		System.out.println(betrag / 10 + "x 10 Euro Scheine");

		// Neue Variable deklariert zum runden des Kontostands
		int kontoSt = Math.round(kontostand);

		// Konsolenausgabe mit Komma durch Modulo
		System.out.println("Kontostand: " + kontostand / 100 + ","
				+ (kontostand / 10) % 10 + "" + (kontostand % 10) + " Euro");

	}

}
```


----------



## SlaterB (5. Nov 2009)

z.B.

if (kontonummer != 1111111111) {
System.out.println("falsche Kontonummer");
return;
}


----------



## Schumi (5. Nov 2009)

Wie wäre es mit einer while bzw. do while Schleife?


----------



## demarc (5. Nov 2009)

schon mal danke für den Rat.

Das Problem ist nur das "return" bei einer falsch eingegebenen Nummer
dann komplett abbricht und nicht die Nummer neu eingeben lässt.


----------



## SlaterB (5. Nov 2009)

dann also die Schleife


----------



## Leroy42 (5. Nov 2009)

```
...
int kontonummer=0;
while (kontonummer != 1111111111) {
    System.out.println("Bitte geben Sie Ihre Kontonummer ein:");
    kontonummer = In.readInt();
}
...
```

Aber wozu liest du die Kontonummer ein wenn sie doch sowieso 1111111111 sein soll.???:L


----------



## demarc (5. Nov 2009)

mein denkansatz war, dass ich sie erst festlegen muss mit 1111111111
um sie dann, wenn sie eingelesen wird zu überprüfen...denk ich doppelt oder falsch?


----------



## Sonecc (5. Nov 2009)

ist schon richtig, du musst vorhandene Kontonummern haben um diese dann überprüfen zu können


----------



## demarc (5. Nov 2009)

super danke leute 

nach ein wenig bastelarbeit hab ich es raus
das ist bestimmt nicht der super styl aber für den anfang bin ich froh, dass es läuft und ich das meiste selbst gemacht habe.

lg


----------

