Neanche io ho capito bene cosa vuoi dire con l'ultima frase, però ti propongo un'altra soluzione al problema.
Non so se conosci il metodo statico
parseInt(String s) della classe Integer che ti permette di trasformare una stringa in un numero a patto che la stringa contenga solo numeri (e al massimo un segno meno all inizio della stringa).
Se la stringa contiene caratteri non numero allora viene lanciata un eccezione.
In questo modo hai controllato che la stringa non contenga lettere.
Esempio:
Scanner scan=new Scanner(System.in);
String s=scan.next(); //legge da tastiera
int n=0; //inizializzo n a zero
try{
n=Integer.parseInt(s);
}catch(NumberFormatException e){}
if(n==0)
System.out.println("la stringa letta, conteneva almeno un carattere non numero");
else{
System.out.println("la stringa letta era un numero :)");
}
il try catch l' ho usato per gestire l'eccezione che viene lanciata dal metodo
parseInt se gli viene fornita una stringa non numero.
In realtà questo modo di agire è utile solo per i numeri interi, ma esiste il metodo parseDouble(della classe Double) che fa (quasi) la stessa cosa con i numeri decimali.