En este post de programación en Java te enseñaré a resolver fracciones o quebrados usando este lenguaje. Vamos a crear la clase Fracción y todos los métodos así como las operaciones necesarias.

Fracciones en Java - Implementar clase y operaciones de quebrados

Fracciones en Java – Implementar clase y operaciones de quebrados

Al final vamos a poder resolver fracciones con Java y aplicar la suma, multiplicación (producto), división, potencia, inversa y simplificación. De hecho esto es la solución a un ejercicio que dice así:

Crea una clase que permita modelar un objeto Fracción. Se considera como fracción a la representación de las partes de un todo, es decir, se divide en partes iguales y cada parte es la fracción del entero.

Los términos de una fracción son el numerador y el denominador. El numerador es el número de partes que tenemos y el denominador es el número de partes en que hemos dividido la unidad.

Métodos Java

Comportamientos o métodos principales:

  • public Fraccion suma(Fraccion otra)
    public Fraccion resta(Fraccion otra)
    public Fraccion producto(Fraccion otra)
    public Fraccion cociente(Fraccion otra)
    public Fraccion inversa()
    public Fraccion potencia(int exponente)
    public Fraccion simplifica()

Otros métodos heredados:

  • public String toString(): Pasa a cadena un objeto Fracción. Escribe el objeto a / b
  • public boolean equals() y hashCode()

Explicación del algoritmo

Simplemente vamos a crear la clase y a implementar todos los métodos tal y como se describió en el apartado anterior. Es importante que sepamos cómo hacer las operaciones manualmente, pues aquí simplemente vamos a pasar todo a programación.

Por cierto, nos van a servir dos cosas que ya he explicado en mi blog: el mínimo común múltiplo y el máximo común divisor.

Clase Fracción

Veamos entonces cómo queda el código en Java para resolver quebrados, también conocidos como fracciones. Se ve así:

Por cierto, si te fijas también hemos sobrescrito el método de toString para convertir la fracción a una cadena de una forma entendible, y el método equals para comparar dos objetos de esta clase.

Recuerda que una fracción es igual a otra si el numerador y el denominador de ambas coinciden (a su máxima simplificación, claro).

Modo de uso

Fracciones en Java - Implementar clase y operaciones de quebrados

Fracciones en Java – Implementar clase y operaciones de quebrados

Ya te enseñé la clase, es momento de ver el modo de uso. Recuerda que en la mayoría de métodos se regresa otro objeto de la misma clase, de modo que puedes encadenar las funciones.

En este caso estoy haciendo una pequeña demostración dentro del método Main, pero recuerda, es un simple ejemplo y tú puedes adaptarlo a tus necesidades.

Como puedes ver en la imagen de ejecución, la salida es correcta. Obviamente los datos de las fracciones pueden venir de cualquier lugar (de un input, de la consola, un archivo, etcétera).

Conclusión

Te comento que ya hice esto de fracciones hace un tiempo pero en Python en donde además manejamos fracciones mixtas e impropias.

También te dejo dos enlaces: uno para probar el código en línea (de las fracciones en Java) y otro para aprender más sobre Java.

Igualmente puedes ver un vídeo si algo no te ha quedado claro:


Estoy disponible para trabajar en tu proyecto o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.
Si el post fue de tu agrado muestra tu apoyo compartiéndolo, suscribiéndote al blog, siguiéndome o realizando una donación.

Suscribir por correo

Ingresa tu correo y recibirás mis últimas entradas sobre programación, open source, bases de datos y todo lo relacionado con informática

Únete a otros 1,477 suscriptores


parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

0 Comentarios

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

A %d blogueros les gusta esto: