1: /*
  2:         NumerosPrimos.jmm

  4:         Detector de números primos para Zero en J--

  6:         Para compilar:
  7:                 j-- NumerosPrimos.jmm
  8:                 za NumerosPrimos

 10:         Ejecutar:
 11:                 zvm NumerosPrimos

 13:         Pablo Martínez
 14:         J. Baltasar García
 15:         (c) 2005
 16: */



 20:  
 21: class NumerosPrimos extends ConsoleApplication {
 22: 
 23:         Vector nNumerosPrimos(int x)
 24:         /*
 25:                 Este método calcula los números primos comprendidos

 26:                 entre 0 y x, y los almacena en un vector que devuelve
 27:         */
 28:         {
 29:         
 30:                 int i = 1;
 31:                 int i2;
 32:                 boolean esPrimo;
 33:                 Vector toret = new Vector();
 34: 
 35:                 while( i != x )
 36:                 {
 37:                         esPrimo = true;
 38:                         i2 = i - 1;
 39: 
 40:                         while( i2 > 1 ) {
 41:                                 if ( i % i2 == 0 )
 42:                                         esPrimo = false;
 43:                                 i2--;
 44:                         }
 45: 
 46:                         if ( esPrimo ) {
 47:                                 toret.add( i );
 48:                         }
 49: 
 50:                         i++;
 51:                 }

 53:                 return toret;
 54:         }
 55: 
 56:         void doIt()
 57:         /* Método principal */
 58:         {
 59:                 Vector nums;
 60:                 int i;
 61: 
 62:                 System.console.write("Introduzca el número hasta donde quiere buscar numeros primos:");
 63: 
 64:                 try {
 65:                         i = Int.parseString( System.console.read() );
 66:                 } catch( ESemantic ex ) {
 67:                         System.console.write( "No es un número.\n" );
 68:                 }
 69: 
 70:                 nums = nNumerosPrimos( i );
 71:                 System.console.write( "\nNúmeros encontrados:\n" );

 73:                 for( i = 0; i < nums.size(); i++) {
 74:                         System.console.write( nums.get( i ) );
 75:                         System.console.lf();
 76:                 }
 77:         }
 78: }