Para solicitar desarrollo de software y/o aplicaciones personalizadas, escríbenos al formulario de contacto




Breaking News





¡BUSCA MÁS CONTENIDO AQUÍ!

▷ Curso de JAVA: Cómo crear la clase fracción






La implementación de una clase que nos permita manejar este tipo de números (fracciones), resulta muy útil cuando trabajamos en proyectos matemáticos, por ejemplo en un software de resolución de ecuaciones lineales, es indispensable trabajar con números fraccionarios, ya que no solo manejamos números reales, sino que se emplean números racionales; Podemos ver la importancia de las fracciones al trabajar en este tipo de proyectos.

En este tutorial veremos esas bases para comenzar a tratar con este tipo de números, quizás en algún momento de nuestra carrera en este mundo de la programación nos toque enfrentarnos a estas situaciones.

Te comparto un software desarrollado en Java donde se implementa la clase fracción Calculator EC.

Antes de comenzar con el desarrollo de la clase repasemos el concepto y propiedades esenciales de los números fraccionarios.

portada imagen clase fraccion JAVA
Curso Java : Clase Fracción 
                                                  
Los números fraccionarios se forman al plantear una división entre dos números, con una restricción; el denominador de la fracción debe ser distinto de cero.

La fracción está compuesta por:

partes de un numero fraccionario









El signo que tenga la fracción, dependerá del signo que  posea el numerador y el denominador.    
                                                      











Teniendo en cuenta lo visto anteriormente pasaremos a la parte de desarrollo.


Explicación por Videotutorial:





Explicación por Foto-Tutorial:

1. Lo primero que haremos será crear una clase a la cual llamaremos fraccion, esta clase contendrá todos los procedimientos y funciones que se necesitan para trabajar con números fraccionarios. Dentro de las llaves {}, declaramos dos variables tipo int. Llamadas numerador y denominador. 
NOTA:
Si aún no tienes claro cómo crear un proyecto en java te invito a que visites la siguiente entrada: ¿Como hacer un proyecto, un paquete y un formulario? 
creamos la clase y creamos dos variables
creamos la clase fraccion.java

2.Creamos el método constructor de la clase, este método  debemos escribirlo dentro de las llaves {} de la clase. Este llevara dos parámetros tipo int (numden), estos parámetros son los valores que se le van asignar a las variables creadas inicialmente (numeradordenominador


public fraccion (int num, int den){
numerador=num;
denominador=den;        
}

NOTA:
Un método constructor, es aquel que se llama automáticamente al declarar un objeto de dicha clase, este método tiene el mismo nombre de la clase a la que pertenece

3. Creamos una función, la cual devolverá un valor tipo entero, para poder simplificar una fracción, se divide el numerador y  denominador por el mayor número que divida a los dos de una manera exacta. Este es el objetivo que se busca creando esta función la cual hemos llamado mcd.


La  función contiene dos condicionales principales donde se verifica si la variable num  es igual a 0, si es igual a 0, la función devolverá como resultado final 1 y sino se realizaran una serie de procesos, el principal de estos se encuentra en el ciclo while este ciclo se repetirá hasta que la variable den sea igual a 0 para esto en cada repetición se realiza una división entre la variable num y den, y esta devuelve como resultado el modulo o residuo de la operación.
    
public int  mcd(){    
     int  num=numerador, den=denominador;             // le asignamos a las variables el valor del numerador y denominador
     if(num==0){                                      // veirificamos si es igual a 0 
        return 1;                                     // si es igual a 0 retornara valor 1  
}else {                                          // sino se realizara el siguiente proceso
    if(num<0){                                    // verificamos que la variable num sea negativa        
num = num * -1;                          // si es negativa la convertimos a positivo           
}
       if(den<0){                                  // realizamos el mismo proceso con la variable den
den = den * -1; 
}
       if(den>num){                                // verificamos si la variable den es mayor a num
         int aux = num;                             // si es mayor hacemos un intercambio de valores
         num=den;                                   // debido a que la variable den no debe ser mayor a num
         den=aux;
       }          
       int mcd=1;                                   // incializamos la variable mcd en 1                        
       while(den!=0){                               // verificamos si la variable den es diferente de 0
           mcd=den;                                 // asignamos a la variable mcd lo que contiene den
           den = num % den;                         // a la variable den le asignamos el residuo o modulo entre num y den
           num = mcd;                               // a la variable num le asignamos mcd
       }                                            // el ciclo se repetira hasta que se cumpla la condicion inicial
       return mcd;
}
}

4. Lo siguiente que debemos hacer es crear un método tipo void  al que llamaremos simplificar en la primera línea de este método llamamos la función que creamos con anterioridad, esta devuelve un valor tipo int  el cual lo asignamos a una variable (int mcd = mcd();).
Una vez hecha esa asignación, se procede a realizar la Simplificación, para esto dividimos tanto variable numerador como variable denominador entre el valor devuelto de la función mcd.


Y por último realizamos dos condicionales donde evaluaremos los respectivos signos que contenga el numerador y denominador. Recordemos que signos iguales darán un resultado positivo, y signos contrarios un resultado negativo.



public void simplificar(){
    
        int mcd = mcd();
        
        numerador = numerador / mcd;
        denominador = denominador / mcd;        
                
        if(numerador<0 && denominador<0){
        
            numerador=numerador*-1;         
            denominador=denominador*-1;            
        
        }else if (numerador>=0 && denominador<0){
            
            numerador=numerador*-1;         
            denominador=denominador*-1;              
        
        }
        
    
}


5. Ahora necesitamos crear una función que nos permita imprimir o mostrar la fracción o fracciones con la que estemos trabajando, para esto creamos una función tipo String.

Lo primero que haremos será verificar que la variable denominador sea distinto de 0, recordemos lo siguiente: para que una fracción sea válida el denominador debe ser distinto de 0.


Si es una fracción valida lo siguiente que  haremos será llamar al método simplificar, si la fracción es simplificable se realizaran los respectivos procesos, posterior a eso se escribe la palabra return,  y con esto devolvemos el resultado final de la función.

@Override
    public String toString(){
        
        if(denominador!=0){
        
            simplificar();
            return numerador+"/"+denominador;
    
        }else{
            
            return "El denominador debe ser distinto de 0";
        
        }      
    }

6. Lo siguiente que haremos será, crear una instancia de la clase fracción: a Continuación mostrare dos formas de crear dicha instancia.







MÉTODO 1:
Se puede crear una instancia desde la propia clase fracción para esto nos posicionaremos en el método main.

Dentro del método main, creamos un objeto de la clase fracción al cual llamaremos frac, podemos visualizar el resultado de la fracción final con la siguiente línea de código.

JOptionPane.showMessageDialog(null, frac.toString());  


Para mostrar el resultado final de la fracción debemos escribir el nombre del objeto (frac) y la función que devuelve este resultado (toString()).

public static void main(String [] args){
   
   fraccion frac = new fraccion(12,8);

   JOptionPane.showMessageDialog(null, frac.toString());
   
 }

MÉTODO 2:

Para este método creamos una nueva clase, llamada principal esta clase contendrá el método main, por lo tanto la clase fracción ya no tendrá este método. Estas dos clases pertenecen al mismo paquete numeros_fraccionarios. Este método realizara el mismo proceso que el método 1.


creación de la clase principal donde creamos un objeto de la clase fracción
creamos la clase principal.java

Dentro del método main creamos un objeto de la clase fraccion y mostramos un mensaje de salida.

public static void main(String [] args){
   
   fraccion frac = new fraccion(12,8);

   JOptionPane.showMessageDialog(null, frac.toString());
   
 }


NOTA:
Para que el mensaje de salida
JOptionPane.showMessageDialog(null, frac.toString());
no presente ningún error debemos hacer el siguiente "import".
           import javax.swing.JOptionPane;


creamos un objeto de la clase fracción, y llamamos sus respectivas funciones



7. El código final, debería quedar de la siguiente manera:



Clase fraccion.


package numeros_fraccionarios;

import javax.swing.JOptionPane;



public class fraccion {
int numerador, denominador;
    public fraccion (int num, int den){
      numerador=num;
      denominador=den;        
}
    public int  mcd(){    
      int  num=numerador, den=denominador;             // le asignamos a las variables el valor del numerador y denominador
      if(num==0){                                      // veirificamos si es igual a 0 
        return 1;                                     // si es igual a 0 retornara valor 1  
}else {                                          // sino se realizara el siguiente proceso
    if(num<0){                                    // verificamos que la variable num sea negativa        
num = num * -1;                          // si es negativa la convertimos a positivo           
}
        if(den<0){                                  // realizamos el mismo proceso con la variable den
den = den * -1; 
}
        if(den>num){                                // verificamos si la variable den es mayor a num
          int aux = num;                             // si es mayor hacemos un intercambio de valores
          num=den;                                   // debido a que la variable den no debe ser mayor a num
          den=aux;        
}          
        int mcd=1;                                   // incializamos la variable mcd en 1                        
        while(den!=0){                               // verificamos si la variable den es diferente de 0
           mcd=den;                                 // asignamos a la variable mcd lo que contiene den
           den = num % den;                         // a la variable den le asignamos el residuo o modulo entre num y den
           num = mcd;                               // a la variable num le asignamos mcd
       }                                            // el ciclo se repetira hasta que se cumpla la condicion inicial
       return mcd;
}
}
@Override
    public String toString(){
        
        if(denominador!=0){
        
            simplificar();
            return numerador+"/"+denominador;
    
        }else{
            
            return "El denominador debe ser distinto de 0";
        
        }
}
}


Clase principal.

package  numeros_fraccionarios;

import javax.swing.JOptionPane;

public class principal {
public static void main(String [] args){
   
   fraccion frac = new fraccion(12,8);

   JOptionPane.showMessageDialog(null, frac.toString());
   
}


}

8. Por último mostramos algunas capturas, con el resultado final.


ejecutamos el proyecto en java
Resultado final del programa


mostramos el resultado final que arrojan los métodos de la clase fracción
Resultado final del programa
mostramos el resultado final de la clase fracción
Resultado final del programa
muestra resultado final arroja una excepción
Resultado final del programa

Si tienes alguna  otra forma de implementar esta clase no dudes en compartirla, y así poder compartir opiniones sobre el tema.

Si deseas descargar el vídeo, junto con el código fuente del presente tema, sólo debes dirigirte a nuestra Zona de Descargas, y dar clic sobre el icono "Curso de JAVA Parte 20".

¿Quieres aprender a realizar aún más cosas y personalizar tus programas hechos en el lenguaje de programación JAVA?, si tu respuesta es "Sí", puedes acceder a todos los tips de JAVA que hemos estado publicando en este blog, dando clic aquí.
 
Suscríbete a nuestro blog, vía Email o RSS; además puedes seguirnos a través de nuestras redes sociales como: FacebookTwitterYouTube y Google+

Si te fue de gran ayuda este material, no olvides compartirlo con tus amigos. 
Si tienes dudas o sugerencias al respecto; puedes dejarnos tus comentarios.
Bendiciones...


No hay comentarios.