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