# Falsche Eingabe wiederholen lassen



## Mr.GreenTea (12. Nov 2013)

Hey Leute,

ich soll ein Programm schreiben, in dem man Artikel mit Bezeichnung, Nummer, Preis und Farbe abspeichern kann.

Die Farbe soll nach dem RGB-Farbraum aus den Grundfarben als Integer zusammengesetzt werden.
D.h. Min 0 und Max 255.
Ich will nun, dass der User die Farben erneut eingeben muss, wenn ich außerhalb des vorgegebenen Bereichs liegt.

Meine Lösung gefällt mir nicht wirklich::bahnhof:

[Java]	boolean farb = false;

				do
				{
					System.out.println("\nFarbe (Wert zwischen 0 & 255)\nRot: ");
					int rot = sc.nextInt();	
					System.out.println("\nGrün: ");
					int gruen = sc.nextInt();
					System.out.println("\nBlau: ");
					int blau = sc.nextInt();
					if(rot < 0 || rot > 255 || gruen < 0 || gruen > 255 || blau < 0 || blau > 255)
					{
						System.out.println("Bitte korrekte Werte eingeben!");
						continue;
					}
				}while(farb);[/Java]

Ich bin mir nicht mal sicher, ob der continue-Befehl hier funktioniert. ???:L
Was meint ihr, is das ok so?


----------



## diggaa1984 (12. Nov 2013)

Teste es doch einfach


----------



## NoXiD (12. Nov 2013)

ich würde den check so belassen wie du den hast, ist ja nicht falsch. Das continue kannst du dir eigentlich spaaren, weil du sowieso in einer Schleife bist. Ich würde nur an deiner Stelle noch ein else hinzufügen und deine "farb" Variable auf true setzen und wenn die Farbe stimmt, farb auf false setzen und die Schleife somit beenden. 
Du willst ja

```
-frage rot ab
-frage grün ab
-frage blau ab
-alle drei im gewünschten bereich?
-JA => Schleife beenden und weitermachen
-NEIN => Schleife von beginn starten
```

Alternativ könntest du gleich nach jeder einzelnen Farbeingabe prüfen...


----------

