sábado, 5 de diciembre de 2009

Calculando Números Primos con Java

Ociosidad, esta pequeña aplicación o programa sencillo muestra como utilizar y generar nuestras propias librerías en Java y reutilizarlas en otros programas.

Concepto.

En ciencias de la computación, una biblioteca (o librero) es un conjunto de subprogramas utilizados para desarrollar software. Las bibliotecas contienen código y datos, que proporcionan servicios a programas independientes, es decir, pasan a formar parte de éstos. Esto permite que el código y los datos se compartan y puedan modificarse de forma modular. Algunos programas ejecutables pueden ser a la vez programas independientes y bibliotecas, pero la mayoría de éstas no son ejecutables. Ejecutables y bibliotecas hacen referencias (llamadas enlaces) entre sí a través de un proceso conocido como enlace, que por lo general es realizado por unsoftware denominado enlazador.

Obtenido de la WikiPedia

El programa. Se desea obtener n cantidad de números primos, el usuario debe de introducir el número final para obtener los números primos.

Por ejemplo: Yo usuario deseo saber cuales son los números primos que hay hasta el número 50.

Herramienta con la que trabajo es NETBEANS.

Primero creare una Librería Java a la cual le he puesto el nombre de aritmetica ahora creare un paquete que le pondré el nombre de metodos en este paquete creare una clase llamada primos.java.

La clase primos.java se encargara de calcular los números primos y devolver el resultado impreso en la pantalla del usuario.

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package metodos;

/**
*
* @author Remmi
*/
public class primos {

    int j, i, dv, sum;
    boolean primo;

    public void primos(int valores) {

        for ( i = 2; i < valores; i += 1) {
            primo = true;

            for ( j = 2; j < i / 2; j += 1) {
                if (i % j == 0) {
                    primo = false;
                    break;
                }
            }
            if (primo) {
                //El 4 no es primo xD.
                if (i == 4) {
                } else {
                    System.out.print(i + " - ");
                }

            }
        }
    }
}

Ya que tenemos nuestra libreria aritmetica.jar con su respectivo paquete llamado métodos y nuestro método para calcular los números primos llamada clase primo.java, pasamos a crear nuestra aplicación.

Para ello pedí un nuevo proyecto “Java Aplication” al cual llame cprimos, yo trabajare en modo consola por razones de tiempo.

 

Nos vamos al proyecto, seleccionamos la carpeta Libraries, damos clic con el botón derecho Agregar JAR/Folder

package cprimos;

import metodos.*;
import java.io.*;

/**
*
* @author Remmi
*/
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws IOException {
        //variables
        int total;

        //Creamos una instanacia de primos
        primos pm = new primos();

        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));

        System.out.println("+++ Calculadora de Números Primos +++");
        System.out.println("Hasta donde deseas calcular: ");
        total = Integer.parseInt(bf.readLine());

        //Hacemos el paso de parámetros al método primos de la clase métodos
        pm.primos(total);

    }
}

La salida en pantalla es la siguiente:

image

La ventaja de trabajar con nuestras propias clases y librerías es que podemos reutilizarlas en otras aplicaciones, de esta forma nos ahorraremos el tener que volver a escribir el mismo método para el cálculo de un factor… etc. Este ejemplo es muy pobre, pero podemos crear grandes aplicaciones y librerías bien estructuradas para el uso en aplicaciones potentes. 

1 comentario: