<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">
public class CalculaPrimos {

   // Arreglo que contendra a los primos
   private long []Pr;
   // Numero de primos que contendra el arreglo de primos
   private int nPr;



   // Constructor
   public CalculaPrimos(int npr) {
      if (npr &gt; 2) nPr = npr;
      else {
         nPr = 10;
         System.out.println("Error en el numero indicado de primos a calcular, se ajusta a: " + nPr);
      }
      calcula();
   }

   // Regresa el numero de primos calculados
   public int numeroPrimos() {
      return nPr;
   }

   // Retorna el arreglo de los primos encontrados
   public long primo(int i) {
      if (i &gt;= 0 &amp;&amp; i &lt; nPr) return Pr[i];
      else  System.out.println("Error en el primos solicitado: " + i);
      return 1;
   }

   // Calcula los primeros nPr primos por el algoritmos de criba de Eratostenes
   private void calcula() {

      int n, i, np;
      Pr = new long[nPr];

      // Guarda los primeros 2 primos
      Pr[0] = 2;
      Pr[1] = 3;
      np = 2;

      // Empieza la busqueda de primos a partir del numero 4
      n = 4;

      // Ciclo para buscar los primeros NPB primos
      while (np &lt; nPr) {
         for (i = 0; i &lt; np; i++) {
            if((n % Pr[i]) == 0) break;
         }
         if(i == np) {
            Pr[i] = n;
            np++;
         }
         n++;
      }
   }


   // Visualiza los primos encontrados
   public void visualiza() {
      System.out.println("Visualiza los primeros " + nPr + " primos");
      for (int i = 0; i &lt; nPr; i++) System.out.println(Pr[i]);
      System.out.println("");
   }



   // Ejemplito de uso ...
   public static void main(String[] args) {

      CalculaPrimos c = new CalculaPrimos(10);
      c.visualiza();
   }
};


</pre></body></html>