Advertisement
Guest User

Racional, Rihanna

a guest
Feb 20th, 2020
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.22 KB | None | 0 0
  1. package br.sp.sp.temtem.bot;
  2.  
  3. public class Racional {
  4.     private int numerador;
  5.     private int denominador;
  6.  
  7.     public Racional(int numerador, int denominador) {
  8.         this.numerador = numerador;
  9.         this.denominador = denominador;
  10.     }
  11.  
  12.  
  13.     public void somar(Racional r){
  14.  
  15.         r = normalizeRacional(r);
  16.  
  17.         this.numerador += r.numerador;
  18.  
  19.         simplificarNotacao();
  20.  
  21.     }
  22.     public void subtrair(Racional r){
  23.         r = normalizeRacional(r);
  24.  
  25.         this.numerador -= numerador;
  26.  
  27.         simplificarNotacao();
  28.  
  29.     }
  30.     public void multiplicar(Racional r){
  31.  
  32.         this.numerador *= r.numerador;
  33.         this.denominador *= r.denominador;
  34.  
  35.         simplificarNotacao();
  36.  
  37.     }
  38.     public void dividir(Racional r){
  39.         this.numerador /= r.numerador;
  40.         this.denominador /= r.denominador;
  41.  
  42.         simplificarNotacao();
  43.     }
  44.  
  45.  
  46.  
  47.     public double getValor(){
  48.         return numerador/denominador;
  49.     }
  50.  
  51.     public int getNumerador() {
  52.         return numerador;
  53.     }
  54.  
  55.     public void setNumerador(int numerador) {
  56.         this.numerador = numerador;
  57.     }
  58.  
  59.     public int getDenominador() {
  60.         return denominador;
  61.     }
  62.  
  63.     public void setDenominador(int denominador) {
  64.         this.denominador = denominador;
  65.     }
  66.  
  67.     //facilitar as somas;
  68.     private Racional normalizeRacional(Racional r){
  69.         int newDenominador  = mmc(this.denominador, r.denominador);
  70.  
  71.         this.numerador = this.numerador * (newDenominador / this.denominador);
  72.         this.denominador = newDenominador;
  73.  
  74.  
  75.         r.numerador = r.numerador * (newDenominador / r.denominador);
  76.         r.denominador = newDenominador;
  77.  
  78.         return r;
  79.     }
  80.  
  81.     private void simplificarNotacao(){
  82.         int divisor = mdc(this.numerador, this.denominador);
  83.  
  84.         this.numerador = this.numerador / divisor;
  85.         this.denominador = this.denominador / divisor;
  86.  
  87.     }
  88.  
  89.     //Algoritmo do MDC
  90.     private int mdc(int a, int b){
  91.         while(b != 0){
  92.             int r = a % b;
  93.             a = b;
  94.             b = r;
  95.         }
  96.         return a;
  97.     }
  98.  
  99.     //Algoritmo do MMC
  100.     private int mmc(int a, int b){
  101.         return a * (b / mdc(a, b));
  102.     }
  103.  
  104.  
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement