Programa rodando até certo ponto

3 respostas
faculdadetrabalhojava
S
Tenho um trabalho da faculdade em java pra fazer, o objetivo é ler 20 numeros, dizer se cada um deles é par, impar, primo ou não primo e o fatorial de cada, o programa abaixo  mostra até o fatorial, não fala se é primo ou não primo, e esta entrando em loop, alguem me ajuda?

import javax.swing.JOptionPane;

public class Fatorial {public static void main(String[] args)

{int numero,aux,fatorial,ehprimo;

String entra;
int cont = 0;

while (cont < 20)

{ entra =JOptionPane.showInputDialog(INFORME UM NUMERO);

numero = Integer.parseInt (entra);

if ((numero % 2) == 1) {System.out.println(numero + EH IMPAR);}

else

{System.out.println(numero + EH PAR);}

aux = numero;

fatorial = 1;

while (aux > 1);

{fatorial = fatorial * aux;

aux = aux -1;

}

System.out.println("FATORIAL DE " + numero + " = " + fatorial);

ehprimo = 1;

aux = numero - 1;

while (aux > 1);

{if ((numero % aux) == 0);

{ehprimo = 0;

aux = 1;

}

aux = aux - 1;

}

if (ehprimo == 1)

{System.out.println(O numero + numero + ehprimo);

}

else

{System.out.println(O numero + numero + NAO EH PRIMO);

}

}

}

}

3 Respostas

P

O while não leva ponto e virgula no fim. Assim ficará sempre em loop

S

Meu Deus, como não percebi kkkk

Esse problema foi solucionado, o problema agora é que ta em loop a cotagem, eu adiciono os 20 numeros mas o sistema fica pedindo mais infinitamente, consegue me ajudar?

P

Se só tiraste os ; da frente do while ainda te falta incrementar a variavel cont. Inicias a zero mas nunca mudas o valor, logo será sempre menor que 20.

Criado 9 de setembro de 2021
Ultima resposta 10 de set. de 2021
Respostas 3
Participantes 2