Si solo deseas que acepte numeros te recomiendo validarlo por el valor ascii por ejemplo :
Código:
char x = 'M' // Declaras una variable Char
int y = (int) x // Guardas el valor ascii de esa variable en y
Solo tendrias que checar entre que rangos ASCII se encuentran los numeros o mas bien digitos.
Saludos y mucha suerte!!