# Anzahl von Scheinen beschränken



## Coneico (22. Nov 2012)

Hallo Leute, 

wie kann ich einen Wert beschränken (plump ausgedrückt). Ich hab einen Automat der mir Geld auszahlt in 50er,20er und 10er Scheinen.  Er soll mit den höchstn Scheinen beginnen, jedoch soll jeder Schein auf maximal 20 Stück beschränkt sein. 

Also angenommen man bekommt 1050€ - er soll mir dann 20 50€scheine geben und 2 20er und 1 10er, statt 21 50 euro scheine. 

Ich hoffe ihr könnt mir helfen... 

Gruß


----------



## Volvagia (22. Nov 2012)

So?


```
public class Geldautomat {
	private static final int[] GELDSCHEINWERTE = {
		50,
		20,
		10,
		5
	};
	
	private void gibGeld(int geld) {
		for(int geldscheinwert:GELDSCHEINWERTE) {
			int scheine = geld / geldscheinwert;
			scheine = (scheine > 20 ? 20 : scheine);
			System.out.println(scheine + " Scheine " + geldscheinwert + " € ausgegeben.");
			geld-= (geldscheinwert * scheine);
		}
	}
	
	public static void main(String[] args) {
		new Geldautomat().gibGeld(1050);
	}
}
```


----------



## Coneico (22. Nov 2012)

Versteh den Code leider nicht so wirklich ???:L

Gehts evtl. simpler mit Hilfe einer while, do oder for schleife ?

Vielen Dank auf jeden Fall erst mal für die Antwort!


----------



## pappawinni (22. Nov 2012)

Coneico hat gesagt.:


> Gehts evtl. simpler mit Hilfe einer while, do oder for schleife ?



Also da ist ja ne for-Schleife:


```
for(int geldscheinwert:GELDSCHEINWERTE) {
            int scheine = geld / geldscheinwert;
            scheine = (scheine > 20 ? 20 : scheine);
            System.out.println(scheine + " Scheine " + geldscheinwert + " € ausgegeben.");
            geld-= (geldscheinwert * scheine);
        }
```

das Ganze lässt sich allerdings auch etwas "herkömmlicher" formulieren:


```
for(int i=0;i<4;i++) {
    		int geldscheinwert= GELDSCHEINWERTE[i];
            int scheine = geld / geldscheinwert;
            if (scheine > 20) scheine = 20;
            System.out.printf("%2d Scheine %2d € ausgegeben.%n", scheine, geldscheinwert);
            geld-= (geldscheinwert * scheine);
        }
```


----------

