Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki

NetBeans: Cálculo del MCD Máximo Común Divisor de dos números con Java
Java


Aplicación Java que pide la introducción de dos números por teclado y devuelve el MCD (Máximo Común Divisor) de ambos números. Esta aplicación está desarrollada con el IDE NetBeans y sirve como ejemplo para métodos constructores, métodos accesores (setters y getters), creación de clases en Java, uso de clases en Java (instanciación, referenciación) y encapsulamiento.



Crear nueva aplicación o proyecto Java en el IDE NetBeans

En primer lugar necesitaremos disponer del IDE de desarrollo NetBeans, a continuación mostramos un tutorial donde explicamos paso a paso cómo descargarlo e instalarlo:

Una vez instalado, para crear una nueva aplicación Java abriremos NetBeans y pulsaremos en el menú "Archivo" - "Proyecto Nuevo":

Crear nueva aplicación o proyecto Java en el IDE NetBeans

Seleccionaremos en Categorías la categoría "Java" y en Proyectos el proyecto "Java Application":

Crear nueva aplicación o proyecto Java en el IDE NetBeans

Introduciremos el nombre del proyecto (por ejemplo AjpdSoftJavaMCD) y la carpeta donde se guardará:

Crear nueva aplicación o proyecto Java en el IDE NetBeans

De esta forma NetBeans creará los ficheros iniciales necesarios para nuestro proyecto para calcular el MCD de dos números con Java:

Crear nueva aplicación o proyecto Java en el IDE NetBeans

 

Crear clase CalculoMCD para calcular el máximo común divisor MCD de dos números mediante Java

A continuación crearemos una nueva clase Java en la que incluiremos los métodos para calcular el máximo común divisor (MCD) de dos números. Para ello, desde el IDE de NetBeans, en el nuevo proyecto creado, pulsaremos con el botón derecho del ratón sobre el paquete y seleccionaremos "Nuevo" - "Java Class" en el menú emergente:

Crear clase CalculoMCD para calcular el máximo común divisor MCD de dos números mediante Java

Introduciremos el nombre para la clase, por ejemplo "CalculoMCD":

Crear clase CalculoMCD para calcular el máximo común divisor MCD de dos números mediante Java

Pegaremos el siguiente código en la clase CalculoMCD, que nos permitirá, entre otras cosas, calcular el máximo común divisor de dos números:

Crear clase CalculoMCD para calcular el máximo común divisor MCD de dos números mediante Java

 

El código fuente Java completo de la clase CalculoMCD.java:

/*
 * CalculoMCD
 * Calcula el MCD de dos números
 * Versión 1.0
 * www.ajpdsoft.com
 */

package ajpdsoftcalculomcd;

/**
 *
 * @author www.ajpdsoft.com
 */

public class CalculoMCD 
{
    private int numero1;
    private int numero2;
    private String mensajeResultado = "";
    
    //constructor de clase vacío, le pasaremos los valores por settters
    //para encapsularlos
    public CalculoMCD ()
    {
    }
    
    //setters
    public void setNumero1 (int numero)
    {
        this.numero1 = numero;
        //si el número es negativo cambiamos a cero y
        //establecemos la propiedad "mensajeResultado" a "Error"
        if (numero < 0)            
            mensajeResultado = "Error, los números no pueden ser negativos";
    }
    
    public void setNumero2 (int numero)
    {
        this.numero2 = numero;
        //si el número es negativo cambiamos a cero y
        //establecemos la propiedad "mensajeResultado" a "Error"
        if (numero < 0)
            mensajeResultado = "Error, los números no pueden ser negativos";
    }
    
    //resultado del cálculo del MCD
    public String getMensajeResultado() 
    {
        return mensajeResultado;
    }    
    
    //getters
    //encapsulamos la modificación de las variables numero1 y numero2
    //para comprobar que los valores son correctos entre 
    public int getNumero1 ()
    {
        return numero1;
    }
    
    public int getNumero2 ()
    {
        return numero2;
    }
    
    //método para obtener el MCD, encapsulamos para pasar como parámetro 
    //de numero1 el mayor de los dos
    public int obtenerMCD ()
    {
        if (numero1 < 0 || numero2 < 0) //si son números negativos no calcular
            return 0;
        else
            if (numero1 > numero2)
                return MCD(numero1, numero2);
            else
                return MCD(numero2, numero1);                  
     }
    
    //método para calcular el MCD
    private int MCD (int num1, int num2)
    {
        int resto;
        int numDiv1 = num1;
        int numDiv2 = num2;
        
        try
        {
            do
            {            
                resto = numDiv1 % numDiv2;
                numDiv1 = numDiv2;
                if (resto != 0)
                    numDiv2 = resto;            
            } while (resto != 0);
            
            mensajeResultado = "Cálculo correcto";
            return numDiv2;
        }
        catch (Exception e)
        {
            mensajeResultado = "Error en cálculo de MCD: " + e.getMessage();
            return 0;
        }
    }    
}

Analizando un poco el código, podremos ver:

  • Un método constructor de la clase public CalculoMCD (), que dejaremos vacío pues los números se los pasaremos mediante métodos accesores setters.
  • Los métodos accesores setters con los que estableceremos los valores de los dos números para calcular el MCD:
    • public void setNumero1 (int numero)
    • public void setNumero2 (int numero)
  • Los métodos accesores getters para consultar los valores de los dos números establecidos con los setters:
    • public int getNumero1 ()
    • public int getNumero2 ()
  • El método privado (private) para calcular el MCD de los dos números private int MCD (int num1, int num2). Los estableceremos private para encapsularlo, no se podrá usar directamente al referenciar la clase.
  • El método público (public) para llamar al método privado anterior, de esta forma el método del cálculo del MCD queda encapsulado y no accesible directamente, solo se podrá emplear mediante este método público:
    • public int obtenerMCD ()

 

Instanciar y referenciar la clase CalculoMCD y probar la aplicación Java para cálculo de MCD

Para probar la clase CalculoMCD, desde la clase main principal de la aplicación, añadiremos el siguiente código al fichero AjpdSoftCalculoMCD.java:

Instanciar y referenciar la clase CalculoMCD y probar la aplicación Java para cálculo de MCD

El código fuente de la clase main principal AjpdSoftCalculoMCD.java de la aplicación Java:

/*
 * MCD
 * Calcula el MCD de dos números
 * Versión 1.0
 * www.ajpdsoft.com
 */

package ajpdsoftcalculomcd;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 *
 * @author www.ajpdsoft.com
 */

public class AjpdSoftCalculoMCD 
{

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) 
    {
        int numero1, numero2;
        
        try
        {
            BufferedReader entradaTeclado = new BufferedReader(
                new InputStreamReader(System.in));
            System.out.print("Introduzca el número 1: ");
            numero1 = Integer.parseInt(entradaTeclado.readLine());
            System.out.print("Introduzca el número 2: ");
            numero2 = Integer.parseInt(entradaTeclado.readLine());
        
            CalculoMCD calculo = new CalculoMCD();
            calculo.setNumero1(numero1);
            calculo.setNumero2(numero2);
        
            System.out.println("El MCD de " + calculo.getNumero1() + " y " + 
                    calculo.getNumero2() + " es: " + calculo.obtenerMCD());

            System.out.println("Resultado del cálculo: " + 
                    calculo.getMensajeResultado());            
        }
        catch (NumberFormatException e) 
        {
            System.out.println("Debe introducir un número válido: " +
                    e.getMessage());
        }
        catch (IOException e)
        {
            System.out.println("Error al introducir datos: " + 
                    e.getMessage());            
        }        
    }    
}

Básicamente el código Java anterior realiza las siguientes acciones:

  • Pedimos la introducción de los dos números para calcular el MCD usando BufferedReader.
  • Instanciamos y referenciamos la clase con CalculoMCD calculo = new CalculoMCD();
  • Utilizamos los getters para establecer los dos números a los que se les calculará el MCD.
    • calculo.setNumero1(numero1);
    • calculo.setNumero2(numero2);
  • Obtenemos y mostramos por pantalla el MCD con calculo.obtenerMCD().

 

Código fuente gratuito de aplicación de ejemplo AjpdSoft Cálculo MCD en Java

A continuación indicamos la descarga gratuita del código fuente completo en Java de la aplicación AjpdSoft Cálculo MCD con Java, aplicación de ejemplo de este tutorial:

 

Artículos relacionados

Créditos

Artículo realizado íntegramente por Alonsojpd miembro fundador del Proyecto AjpdSoft.

Artículo en inglés.


Anuncios


Enviado el Martes, 27 enero a las 23:15:41 por ajpdsoft
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A