# Zahl ungleich dem Typ integer



## newbie (4. Jan 2004)

Kann mir jemand sagen, ob und wenn ja wie man abfragt, ob eine zahl integer ist?

genauer: eine natürliche zahl wird vom benutzer eingegeben und in eine zahl des typs integer umgewandelt
wenn der benutzer jetzt aber keine natürliche zahl eingibt, sondern einen buchstaben oder ähnliches, soll eine fehlermeldung erfolgen.

wie mache ich das ???

```
if(zahl != int) 
{ System.out.println("Fehler!!!");}
else 
System.out.println("es wurde eine natürliche Zahl eingegeben");
```
??????? :?: 

hoffe, es kann mir wer helfen


----------



## bygones (4. Jan 2004)

du kannst z.B. über


```
Integer.parseInt(args[0]);
```

ermitteln, ob es eine ganze Zahl ist (wirft eine NumberFormatException bei einem Character und auch bei Dezimalzahlen)


----------



## Stefan1200 (5. Jan 2004)

Wenn es nur eine einzelne Zahl oder ein einzelner Buchstabe ist, kannst du diesen erst in einen char speichern, und dann wie folgt untersuchen:


```
char zeichen = 'a';
Character charTest = new Character(zeichen);

if (charTest.isLetter())
{
    // Ist ein Buchstabe
}
else if (charTest.isDigit())
{
    // Ist eine Zahl
}
else
{
    // Was anderes
}
```

Ich hoffe das es so geht, habe es nicht getestet.


----------



## schnuffie (5. Jan 2004)

```
private boolean isInt(Object o) {
  try {
    long lTemp = Long.parseLong(o.toString());
    return lTemp >= Integer.MIN_VALUE && lTemp <= Integer.MAX_VALUE;
  }
  catch (Exception e) {}
  return false;
}
```


----------

