Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Per Google finde ich nur mehrzeilige Codes und eigene Funktionen. Ich will es aber möglichst einfach haben. Ich meine, ich hätte in Erinnerung, dass so etwas in die Richtung funktioniert:
Java:
String example = "56";
if(example.isNumeric)
{
// tu was
}
Du kannst in einem try-catch Integer.parseInt, Double.parseDouble oder so "ausprobieren", und wenn dir keine NumberFormatException um die Ohren fliegt, ist es eine Zahl. Aber ein Regex-Künstler kann dir sicher auch weiterhelfen (auch wenn das bei doubles wegen der eventuellen e-Schreibwiese nicht ganz trivial ist).
Ich erwarte in dem String nur eine natürliche Zahl. Sprich: Positiv, kein Komme, keine E-Schreibweise, kein Hexalwert, kein L hinter der Zahl, kein gar nichts. Nur eine Zahl, die in diesem Fall sogar aller höchstens 2 Stellen hat.
Ich will keine Fehlermeldungen provozieren, das Programm wird zwar später ohne Kommandozeile laufen, aber trotzdem will ich das 1. nicht und 2. ist es bestimmt verdammt unübersichtlich, wenn man mein Testlauf 2 Werte in der Konsole ausgeben will und erst mal 20 Fehlermeldungen zu sehen bekommt.
Wie mache ich das jetzt am ungeschicktesten, um keine Fehlermeldung zu erhalten?
Also so weit wie ich das jetzt verstanden habe, hast du den Code so geschrieben, dass er mir auch dann false zurück gibt, wenn der String zwar eine Zahl ist, diese Zahl aber nicht kleiner als 100 ist. Stimmt das? Sollte ich nicht einfach return true; schreiben?
Und wenn ich die Zahl jetzt in eine als int deklarierte Variable speichern will, muss ich diesen Code verwenden?
Java:
int intVariable = Integer.parseInteger(stringVariable);
Also so weit wie ich das jetzt verstanden habe, hast du den Code so geschrieben, dass er mir auch dann false zurück gibt, wenn der String zwar eine Zahl ist, diese Zahl aber nicht kleiner als 100 ist. Stimmt das? Sollte ich nicht einfach return true; schreiben?[/code]
public boolean istEineZahl(String eingabe) {
//Prüfen ob 'eingabe' eine ganze Zahl ist. Wenn ein Zeichen keine Zahl ist, ist das Ergebnis 'false'.
boolean zahl=true;
char[] c;
int i;
eingabe=eingabe.trim();
c=eingabe.toCharArray();
for (i=0;i < eingabe.length();i++) {
if (!Character.isDigit(c[i])) {
zahl=false;
}
}
return zahl;
}