sábado, 11 de julio de 2026

Comprobar si un número es primo en Java

Código del ejercicio:

package ejercicio;

import java.util.Scanner;

public class Ejercicio {

    public static void main(String[] args) {
        int divisor = 1, contador = 0, numero;
        Scanner sc = new Scanner(System.in);
        System.out.print("Ingrese un número: ");
        numero = sc.nextInt();
        while(divisor <= numero){
            if(numero % divisor == 0){
                contador++;
            }
            divisor++;
        }
        if(contador == 2){
            System.out.println("El número es primo");
        }else{
            System.out.println("El número no es primo");
        }
    }

}

Definición de los códigos del ejercicio:

import java.util.Scanner; --> Importación explícita de Scanner.
Scanner sc = new Scanner(System.in); --> objeto de Scanner con nombre sc.
Scanner --> clase Scanner nos permite ingresar datos por teclado.
new --> palabra reservada que instancia un objeto de la clase Scanner.
System.in --> parámetro que indica de donde proceden los datos, en este caso del teclado.
System.out.print() --> imprime el texto en la consola y el cursor permanece al final del texto en la consola.
System.out.println() --> imprime el texto en la consola y el cursor permanece al comienzo de la siguiente línea en la consola.
int --> dato entero de 32 bits.
nextInt() --> lee un número entero desde consola (teclado).
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
<= --> el operador menor o igual ( <= ) devuelve true si el operando izquierdo es menor o igual que el operando derecho, y en false caso contrario.
% --> el operador de modulo ( % ) devuelve el resto de la división.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.

Explicación del Código:

Este programa solicita al usuario un número entero y verifica si es un número primo. Un número primo es aquel que únicamente tiene dos divisores exactos: el número 1 y él mismo. Para comprobarlo, el programa cuenta cuántas veces el número puede dividirse exactamente. Si solo tiene dos divisores, entonces es primo; de lo contrario, no lo es.

Explicación de cada parte del código

Código Explicación
package ejercicio; Indica el paquete donde se encuentra almacenada la clase del programa.
import java.util.Scanner; Importa la clase Scanner, la cual permite leer datos que escribe el usuario desde el teclado.
public class Ejercicio Declara la clase principal donde estará escrito todo el programa.
public static void main(String[] args) Es el método principal. La ejecución del programa comienza desde aquí.
int divisor = 1, contador = 0, numero; Se declaran tres variables:
  • divisor: comienza en 1 y se utiliza para dividir el número.
  • contador: cuenta cuántos divisores exactos tiene el número.
  • numero: almacena el número ingresado por el usuario.
Scanner sc = new Scanner(System.in); Crea el objeto Scanner para leer datos desde el teclado.
System.out.print("Ingrese un número: "); Muestra un mensaje solicitando un número.
numero = sc.nextInt(); Lee el número escrito por el usuario y lo guarda en la variable numero.
while(divisor <= numero) El ciclo while recorre todos los números desde 1 hasta el número ingresado para comprobar cuáles lo dividen exactamente.
if(numero % divisor == 0) El operador % obtiene el residuo de la división. Si el residuo es 0, significa que la división es exacta y el número actual es un divisor.
contador++; Cada vez que encuentra un divisor exacto, aumenta el contador en uno.
divisor++; Incrementa el divisor para probar el siguiente número.
if(contador == 2) Cuando termina el ciclo, verifica cuántos divisores encontró. Si encontró exactamente dos, significa que el número es primo.
System.out.println("El número es primo"); Muestra el mensaje indicando que el número es primo.
else Se ejecuta cuando el número tiene más o menos de dos divisores.
System.out.println("El número no es primo"); Indica que el número no es primo.

¿Cómo funciona el algoritmo?

  1. El usuario ingresa un número.
  2. El programa comienza probando si el número puede dividirse entre 1.
  3. Después prueba con 2, luego con 3 y continúa hasta llegar al mismo número.
  4. Cada vez que la división es exacta, aumenta el contador.
  5. Al finalizar:
    • Si el contador vale 2, el número es primo.
    • Si el contador es diferente de 2, el número no es primo.

Ejemplo de ejecución

Entrada:
Ingrese un número: 7
Proceso:
  • 7 ÷ 1 → Exacto ✔
  • 7 ÷ 2 → No exacto
  • 7 ÷ 3 → No exacto
  • 7 ÷ 4 → No exacto
  • 7 ÷ 5 → No exacto
  • 7 ÷ 6 → No exacto
  • 7 ÷ 7 → Exacto ✔
Total de divisores: 2

Salida:
El número es primo

No hay comentarios.:

Publicar un comentario

Ingresar un número entero y mostrar todos los números pares hasta el número ingresado en Python

Código del ejercicio: Con ciclo while numero = int ( input ( "Ingresar un número: " )) if numero > 0 :   c = 0   ...

Copyright © Ejercicios de programación. Todos los derechos reservados. ❤️