Galera me ajude a rodar este codigo

Bom dia pessoal, sei que aki só tem fera! será que alguem poderia me ajudar a rodar este simples codigo abaixo!!

é o seguinte! entro com um dado numerico e só quero que saia do laço só se for digitado numeros! e ai passa pro segundo laço e quero que faça a mesma coisa! os dados são na variáveis N e A! são duas entradas quero que só passe pra segunta se a primera for digitada corretamente um numero e saia do segundo pra completar o codigo, se tambem for digitado um numero!!

vejam aí!!

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Mil{

BufferedReader	console = new BufferedReader( new InputStreamReader(System.in) );

public void executar ()throws Exception{

	long m =0; long n = 0; double a =0;
	long x=0; double y = 0;
	long q=0;
	
	
do{

	System.out.print("N: ");
try {n = Integer.parseInt(console.readLine()); 
	} 
  catch (NumberFormatException e) {
  System.out.println("Digite um numero valido."); 
  

  while(true);}
  catch (IOException e) { System.out.println(e); }

// como faço pro codigo só continuar daqui se for digitado numeros acima

  do{
System.out.print("A: ");

try {  a = Integer.parseInt(console.readLine()); 
} 
catch (NumberFormatException e) {
System.out.println("Digite um numero valido."); 
 }

while(true);




//	aqui tambem

// como faço pro codigo só continuar daqui se for digitado numeros acima

	       System.out.print("\n");
												
				x = n / 2;
				System.out.print(n  + " / " + " 2 " + " = " +  x + " \n");	
				q++;	
			
		
			    
				
				while (x / 2 % 2 == 0 ){   
				q++;
				n = x;		
				x = n /2;
			
			System.out.print(n  + " / " + " 2 " + " = " +  x + " \n");	
			
			    }
			    
			if (x / 2 % 2 != 0 ){
				
			 n = x;
		     x = n / 2;
		     q++;	
			
		    System.out.print(n  + " / " + " 2 " + " = " +  x + " \n");
		    System.out.print("\n");
		    System.out.print("Q = "+ q+ "\n");
			System.out.print("K = "+ x);
			System.out.print("\n");
			}
			System.out.print("\n");
			
			y = Math.pow(a, x)% m;
			int  ab = (int) a;
			int yb = (int) y;
			System.out.print(ab+"^"+x+ " mod " +m+ " = " +yb+ "\n");
			
			for (int i = 0; i <= q-1; i++ ){
			x = 2;
			a = y;	
			
			y = Math.pow(a, x)% m;
			
							
			int  aa = (int) a;
			int  xx = (int) x;
			int yy = (int) y;
		
			System.out.print(aa+"^"+xx+ " mod " +m+ " = " +yy + "\n");
		
			if(y == -1 ||  y == 1){
			break;
			
			}
		    }
			
			if (y == -1 || y == 1){
			//System.out.print("\n");
			System.out.print("pseudo primo forte");
			System.out.print("\n");
			}else
			{
			//System.out.print("\n");
			System.out.print("número composto" + "\n");
			
   }

			 
			public static void main(String[] args) throws Exception {
				
				Mil ex = new Mil();
				
				ex.executar();
			}
		}  

Agradeço

Após fazer o parse do que foi digitado, coloque a instrução break, para sair do laço e segui o fluxo do programa!

n = Integer.parseInt(console.readLine()); break;