java

Java – Números primos en un rango

Hoy vamos a ver cómo imprimir todos los números primos existentes dentro de un rango en Java, usando el ciclo for y una función para saber si un número es primo.

Vamos a pedir el inicio y el fin usando un Scanner, y después vamos a imprimir todos los números primos que existen en un rango usando Java.

La función para saber si es un número primo

En un post anterior ya expliqué la función que nos dice si un número es primo. La pongo aquí de nuevo:

public static boolean esPrimo(int numero) {
  // El 0, 1 y 4 no son primos
  if (numero == 0 || numero == 1 || numero == 4) {
    return false;
  }
  for (int x = 2; x < numero / 2; x++) {
    // Si es divisible por cualquiera de estos números, no
    // es primo
    if (numero % x == 0)
      return false;
  }
  // Si no se pudo dividir por ninguno de los de arriba, sí es primo
  return true;
}

Imprimir números primos dentro de rango en Java

Para lograr nuestro objetivo hay que solicitar el inicio y el fin. También declaramos una variable contador que va a contar los números primos que hayan dentro del rango.

int inicio, fin, contador = 0;
Scanner sc = new Scanner(System.in);
System.out.println("Escribe el inicio:");
inicio = sc.nextInt();
System.out.println("Escribe el fin:");
fin = sc.nextInt();

Después hacemos un ciclo for que va desde el inicio hasta el fin, aumentando en 1 en cada paso. Tenemos la variable x, con ella invocamos al método esPrimo y en caso de que el valor de x sea primo, lo imprimimos.

for (int x = inicio; x <= fin; x++) {
  if (esPrimo(x)) {
    contador++;
    System.out.print(String.valueOf(x) + ",");
  }
}

Así que el código completo queda así:

/*
Números primos en un rango

https://parzibyte.me/blog

*/import java.util.Scanner;

class Main {
 public static void main(String[] args) {
  int inicio, fin, contador = 0;
  Scanner sc = new Scanner(System.in);
  System.out.println("Escribe el inicio:");
  inicio = sc.nextInt();
  System.out.println("Escribe el fin:");
  fin = sc.nextInt();
  for (int x = inicio; x <= fin; x++) {
   if (esPrimo(x)) {
    contador++;
    System.out.print(String.valueOf(x) + ",");
   }
  }
  System.out.printf("\nTotal: %d", contador);
  sc.close();
 }

 public static boolean esPrimo(int numero) {
  // El 0, 1 y 4 no son primos
  if (numero == 0 || numero == 1 || numero == 4) {
   return false;
  }
  for (int x = 2; x < numero / 2; x++) {
   // Si es divisible por cualquiera de estos números, no
   // es primo
   if (numero % x == 0)
    return false;
  }
  // Si no se pudo dividir por ninguno de los de arriba, sí es primo
  return true;
 }
}

Ejecutar programa para imprimir números primos usando Java

Puedes ejecutarlo con NetBeans o un IDE de tu agrado. Yo lo haré desde la terminal:

Números primos desde el 0 hasta el 1000 usando Java

También te invito a ver este ejercicio pero en el lenguaje C.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

2 días hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

1 semana hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

1 semana hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

1 semana hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

1 semana hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

1 semana hace

Esta web usa cookies.