# String auf Zeichen überprüfen



## Marco Graff (23. Jul 2004)

Hallo Leute

Ich arbeite an einem Programm welches vom User 3 Werte (Dreiecksseiten a, b und c) zur Verfügung gestellt bekommt. Anschliessend kann abgelesen werden, um was für einen Dreieckstyp es sich handelt, sowie welches die längste der 3 Seiten ist.

Eigentlich kein Problem soweit.... Nur möchte ich eine Fehlerkontrolle machen, welche die Eingabe auf unzulässige Zeichen (Sonderzeichen, Buchstaben, Kommastellen, negative Zahlen) prüft. Und das bevor ich 

```
int aSeite = Integer.parseInt(a.getText());
```
durchführe, denn da kackt das Programm ab falls sich z.B Buchstaben darin befinden (Ist klar, ein String > Integer mit Buchstaben enthalten geht natürlich nicht.)

Meine Frage also: *Wie kann ich einen String auf Sonderzeichen, Buchstaben (schlicht: auf alles andere als Zahlen) prüfen?*

Bin dankbar für jede Hilfe die ich bekommen kann! 

Liebe Grüsse Marco


----------



## bygones (23. Jul 2004)

entweder ein try catch block drum und eine NumberFormatException abfangen...
oder z.b.

```
String input = .....
if(s.matches("[0-9]+")) {
// nur zahlen)
}
```

das geht aber erst ab 1.4 sonst z.b

```
char [] inputChar = input.toCharArray();
for(int i = 0; i < inputChar.length; i++) {
  if(!Character.isDigit(inputChar[i])) {
     // FEHLER !!!
  }
}
```


----------



## Isaac (23. Jul 2004)

So zum Beispiel


```
public class Test
{
    public static void main(String[] args)
    {
        String a = "12345";
        String b = "123AB";
        boolean bMatches1 = a.matches("\\d+");
        boolean bMatches2 = b.matches("\\d+");
        System.out.println(bMatches1 + " " + bMatches2);
    }

}
```


----------



## Anfänger (21. Aug 2004)

Hallo was soll ich für Methode matches importieren ?
ich bekomme ständig Fehler die Methode matches kann nicht gefunden werden


----------



## Roar (21. Aug 2004)

regex unterstützung ist erst am Java 1.4 vorhanden, du hast wahrscheinlich was älteres.

mach einfach so:

```
Character.isDigit(string.charAt(0)); // und 1,2,3 und so weiter
```


----------



## Anfänger (21. Aug 2004)

vielen Dank !


----------

