# Prüfen, ob Zeichen eine Zahl ist



## Magnus (14. Jan 2013)

Hallo,


```
public class zeichenkette{

	public static void main(String[] args){
	
	int d=4;
	
	boolean a,b;
	
	
	a = Character.isDigit(d);
	b = Character.isDigit('4');
	
	System.out.println(a);	// false
	System.out.println(b);	// true
	
	}
}
```

Ich verstehe nicht, warum die erste Ausgabe immer _false_ ist. Kann mir bitte jemand einen Tipp geben warum _a_ mit _false_ initialisiert wird.
Vielen Dank für eure Antworten.

Magnus


----------



## L-ectron-X (14. Jan 2013)

Du prüfst mit isDigit() eigentlich chars, also Zeichen, keine Zahlenwerte.

Im ASCII-Zeichensatz ist an Position 4 keine Zahl.
Das kannst du prüfen mit:

```
System.out.println((char)4); //EOT
System.out.println((char)65); //A
System.out.println((char)52); //4
```

Für b testest du auf ein char, also ein Zeichen. Da geht das.

Siehe auch: American Standard Code for Information Interchange ? Wikipedia, oder API-Doc.


----------



## Magnus (14. Jan 2013)

Hallo L-ectron-X,

vielen Dank für die schnelle Antwort.

Magnus


----------



## hüteüberhüte (14. Jan 2013)

Zwar schon erledigt, aber da genüt ein Blick in die API:



> isDigit(char ch)
> Determines if the specified character is a digit.
> isDigit(int codePoint)
> Determines if the specified character (Unicode code point) is a digit.



Grüßle


----------

