5
I’m doing a job in Java, where the user must enter numbers smaller than 20, and then this program must tell which numbers are prime. I don’t know if my logic is right, but on the console nothing appears, it’s just empty.
Follows the code:
package javatrabalho;
import javax.swing.JOptionPane;
public class trabalhopronto {
public static void main(String[] args) {
String entrada1;
int numero, contador;
numero = 0;
contador = 1;
if (numero > 20) {
System.out.println("Informe um numero menor que 20");
}
while (numero <= 20) {
entrada1 = JOptionPane.showInputDialog("Informe um numero menor que 20");
numero = Integer.parseInt(entrada1);
// saber se um numero é primo
if (numero < contador) {
if (numero % contador == 0) {
contador = contador + 1;
}
if (contador > 2) {
System.out.println("O numero é primo" + numero);
} else {
System.out.println("O numero não é primo" + numero);
}
}
}
}
}
Besides the problem of
contador
Already quoted in André’s answer below, the algorithm to determine if the number is prime is not correct. There are several algorithms for this, some more naive (make afor
1 in 1 to n), and a little more "smart" (example: https://stackoverflow.com/a/31111675)– hkotsubo
I also found a reply on prime numbers, a check
– RXSD