Advertisement
JVFabia

Untitled

Jul 14th, 2020
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.14 KB | None | 0 0
  1. package org.forge;
  2.  
  3. public class Fraccion {
  4.     int numerador;
  5.     int denominador;
  6.  
  7.     Fraccion() {
  8.         this.numerador = 0;
  9.         this.denominador = 1;
  10.     }
  11.  
  12.  
  13.     Fraccion(int numerador, int denominador) {
  14.         this.numerador = numerador;
  15.         if (denominador == 0) {
  16.             denominador = 1;
  17.         }
  18.         this.denominador = denominador;
  19.         simplificar();
  20.         this.denominador = denominador;
  21.     }
  22.  
  23.     Fraccion(int num) {
  24.         this.numerador = num;
  25.         this.denominador = 1;
  26.     }
  27.  
  28.     int getNumerador() {
  29.         return numerador;
  30.     }
  31.  
  32.     void setNumerador(int numerador) {
  33.         this.numerador = numerador;
  34.     }
  35.  
  36.     int getDenominador() {
  37.         return denominador;
  38.     }
  39.  
  40.     void setDenominador(int denominador) {
  41.         this.denominador = denominador;
  42.     }
  43.  
  44.     // retorna en pantalla la fraccion
  45.     String imprimir() {
  46.         return this.numerador + "/" + this.denominador;
  47.     }
  48.  
  49.     //Valida si es menor que f
  50.     boolean esMenorQue(Fraccion f){
  51.         return this.numerador * f.denominador < this.denominador * numerador;
  52.     }
  53.  
  54.     //sumar fracciones
  55.     Fraccion sumar(Fraccion f) {
  56.         Fraccion aux = new Fraccion();
  57.         aux.numerador = this.numerador * f.denominador + this.denominador * f.numerador;
  58.         aux.denominador = this.denominador * f.denominador;
  59.         aux.simplificar();  //se simplifica antes de devolverla
  60.         return aux;
  61.     }
  62.  
  63.     //restar fracciones
  64.     Fraccion restar(Fraccion f) {
  65.         Fraccion aux = new Fraccion();
  66.         aux.numerador = this.numerador * f.denominador - this.denominador * f.numerador;
  67.         aux.denominador = this.denominador * f.denominador;
  68.         aux.simplificar();  //se simplifica antes de devolverla
  69.         return aux;
  70.     }
  71.  
  72.     //multiplicar fracciones
  73.     Fraccion multiplicar(Fraccion f) {
  74.         Fraccion aux = new Fraccion();
  75.         aux.numerador = this.numerador * f.numerador;
  76.         aux.denominador = this.denominador * f.denominador;
  77.         aux.simplificar();  //se simplifica antes de devolverla
  78.         return aux;
  79.     }
  80.  
  81.     //dividir fracciones
  82.     Fraccion dividir(Fraccion f) {
  83.         Fraccion aux = new Fraccion();
  84.         aux.numerador = this.numerador * f.denominador;
  85.         aux.denominador = this.denominador * f.numerador;
  86.         aux.simplificar();  //se simplifica antes de devolverla
  87.         return aux;
  88.     }
  89.  
  90.     //Cálculo del máximo común divisor
  91.     int mcd() {
  92.         int u = Math.abs(numerador); //valor absoluto del numerador
  93.         int v = Math.abs(denominador); //valor absoluto del denominador
  94.         if (v == 0) {
  95.             return u;
  96.         }
  97.         int r;
  98.         while (v != 0) {
  99.             r = u % v;
  100.             u = v;
  101.             v = r;
  102.         }
  103.         return u;
  104.     }
  105.  
  106.     //método para simplificar fracciones
  107.     void simplificar() {
  108.         int n = mcd(); //se calcula el mcd de la fracción
  109.         numerador = numerador / n;
  110.         denominador = denominador / n;
  111.     }
  112.  
  113.     @Override
  114.     public String toString() {
  115.         simplificar();
  116.         return numerador + "/" + denominador;
  117.     }
  118. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement