En el programa que vamos a realizar vamos a hacer que el usuario introduzca un número utilizando la clase Scanner y a partir de ese número el programa determinará si es primo o no.
Vamos a ver el código:
import java.util.Scanner;
public class NumeroPrimo{
//Método que comprueba si un número es o no primo
public static void comprobarNumero(int num){
if(num == 2){
//Si el número es 2 es primo
System.out.println("El número " + num + " es primo");
}else if (num < 2 || num % 2 == 0 ){
//si el número es menor que 2 o el número es divisible
//por dos, entonces no es primo
System.out.println("El número " + num + " no es primo");
}else {
for(int i = 2; i < num; i++){
//Si el número es divisible por cualquier número menor
//que el propio número (a partir de 2) entonces no es primo
if(num % i == 0){
System.out.println("El número " + num + " no es primo");
//Si la condición es cierta se sale del programa
System.exit(0);
}
}
//Si lo anterior es falso entonces el número es primo
System.out.println("El número " + num + " es primo");
}
}
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
System.out.print("Esccriba un número: ");
int numero = teclado.nextInt();
comprobarNumero(numero);
}
}
El código viene comentado, pero si tenéis cualquier duda no dudéis en dejarla por comentario.
No puede haber break por el verdadero y el falso del if. No tiene sentido un for en ese caso
ResponderEliminarTienes razón, he cambiado el código. Muchas gracias por comentar
Eliminar