[Erledigt] if-Anweisung zum Prüfen von Zahleneingaben

hallo,
habe eine frage zur if anweisung.
folgendes: in einer benutzereingabe dürfen keine wörter, sonderzeichen, brüche, oder negative zahlen eingegeben werden. also nur positive zahlen.
jetzt möchte ich das natürlich einer einer if anweisung programmieren.
wie mach ich das?
z.b if (wörter && sonderzeichen && ...) { //keine wörter,sonderzeichen,.. Terminal.println("Error!"); }

Bin mir nicht sicher, ob Du sowas meinst. Aber Du kannst bspw. mit regulären Ausdrücken überprüfen, welche Zeichen ein String beinhaltet: if (myInputString.matches(".*[^\\d].*")) { Terminal.println("Error!"); }

Anleitung zu regulären Ausdrücken findest Du auf Englisch in der API-Doc der Pattern-Klasse. Hilft Dir das?

Ebenius

die einfachste Sache ist aber

int i = -1;
try
{
i = Integer.parseInt(eingelesenerstring);
}catch(Exception ex)
{
 Terminal.println("Error!");
}

Zu jedem Problem gibt es eine Lösung, die klar, einfach und falsch ist. :wink:

Der Erstschreiber wollte doch keine negativen Zahlen zulassen… :slight_smile:

Ebenius

ok das hab ich übersehen aber das kann man ja danach mit dem i schnell abfragen :wink:

  Terminal.println("Error!");
}```
also ist das die lösung für mein problem?
dadurch wird dem benutzer keine eingaben von
sonderzeichen, wörter, negative zahlen, und brüche erlaubt?

Nicht die Lösung, aber eine.

[QUOTE=Unregistriert;7769]dadurch wird dem benutzer keine eingaben von
sonderzeichen, wörter, negative zahlen, und brüche erlaubt?[/QUOTE]
Die Prüfung des oben stehenden regulären Ausdrück gibt true zurück, wenn ein oder mehr Zeichen im String keine Ziffern (0,1,2,3,4,5,6,7,8,9) sind. Insofern: Ja.

Ebenius

vieeelen dank!