Wie kann ich diesen Code vereinfachen ?

M

Martin_22

Hallo,

weiss jemand, wie ich folgendende Zahlenüberprüfung vereinfachen kann (mit Schleife o.Ä.)? Danke im voraus für eure Hilfe!

Viele Grüße,
Martin


Code:
for (int i=0; i<zahlen.length(); i++){
 
if ((zahlen.charAt(i) != '0')&& (zahlen.charAt(i) != '1') &&(
 
zahlen.charAt(i) != '2')&&(zahlen.charAt(i) != '3')&&(
 
zahlen.charAt(i) != '4')&&(zahlen.charAt(i) != '5')&&
 
(zahlen.charAt(i) !='6')&&(zahlen.charAt(i) != '7')&&(zahlen.charAt(i) != '8')&&(zahlen.charAt(i) != '9')){ 
 
korrekteEingabe = false;
 

 
}
 
}
 
Mmmh....ist das Java...keine Ahnung...es könnte auch Javascript sein(vom Aussehen her):)

Falls ja, dann probiers mit RegExp
Code:
korrekteEingabe = !String(zahlen).match(/\D/);
 
Zuletzt bearbeitet:
was willst du erreichen? Das nur Zahlen angegeben werden können?

Nun, ich habs grad so gelöst:
Code:
try
{
	// Abfrage auf positive Begrenzung
	if(Integer.valueOf(Eingabe.getText()).intValue() >= 0)
	{
                	eineBerechnung = new PrimBerechnung(Integer.valueOf(Eingabe.getText()).intValue(), eineGUI);
		eineBerechnung.start();
	}
					
	else
	{
		Ausgabe.setText("Bitte eine nicht-negative Grenze angeben");
	}
					
}

// wird geworfen, wenn Nicht-Integer-Wert als Grenze angegeben wird
catch(NumberFormatException exc)
{
	Ausgabe.setText("Bitte eine Zahl als Grenze eingeben!");
}

Hier wird bei was anderem als nem Int-Wert ne Exception geworfen, die du abfangen kannst.

Müsstest du natürlich an deine Umstände anpassen..
 
Zuletzt bearbeitet:
Der Java-Code-Ausschnitt gehört zu einer Klasse, die sicherstellen soll, dass nur eine Eingabe von Zahlen möglich ist. Ich möchte den langen Term nur kürzer fassen, z.B. durch eine Schleife. Ich weiß nur nicht genau wie das geht wegen den ganzen "&&" ...
 
Probier das mal aus:
Code:
for (int i=0; i<zahlen.length(); i++)
{
     	if(!Character.isDigit(zahlen.charAt(i)))
		korrekteEingabe=false;
}
 
Der einfachste Weg bleibt immer noch der:
Code:
try {
    Integer.parseInt(zahlen);
} catch (NumberFormatException e) {
    korrekteEingabe = false;            
}
 
Zurück