Advertisement
Guest User

Untitled

a guest
Sep 18th, 2019
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.26 KB | None | 0 0
  1. import java.util.*;
  2. import java.io.*;
  3.  
  4. public class Fraction {
  5.    private int numerator;
  6.    private int denominator;
  7.  
  8.     public int getNumerator() {
  9.         return numerator;
  10.     }
  11.  
  12.     public void setNumerator(int numerator) {
  13.         this.numerator = numerator;
  14.     }
  15.  
  16.     public int getDenominator() {
  17.         return denominator;
  18.     }
  19.  
  20.     public void setDenominator(int denominator) {
  21.         if(denominator == 0) {
  22.             this.denominator = this.denominator;
  23.         } else {
  24.             this.denominator = denominator;
  25.         }
  26.     }
  27.     public Fraction(int numerator, int denominator) {
  28.         this.numerator = numerator;
  29.         this.denominator = 1;
  30.     }
  31.     public int GCD(int a, int b) {
  32.         while(b != 0) {
  33.             int temp = a%b;
  34.             a=b;
  35.             b=temp;
  36.         }
  37.         return a;
  38.     }
  39.     public Fraction reduce() {
  40.         int temp = GCD(this.numerator, this.denominator);
  41.         this.numerator = numerator/temp;
  42.         this.denominator = denominator/temp;
  43.         return this;
  44.     }
  45.     public int LCM(int a, int b) {
  46.         int temp = a*b;
  47.         temp = Math.abs(temp) / GCD(a, b);
  48.         return temp;
  49.     }
  50.     public Fraction add(Fraction F) {
  51.         if(F.denominator == 0) {
  52.             return this.reduce();
  53.         } else {
  54.             this.numerator = this.numerator * (LCM(this.denominator, F.denominator) / this.denominator);
  55.             this.denominator = this.denominator * (LCM(this.denominator, F.denominator) / this.denominator);
  56.             F.numerator *= (LCM(this.denominator, F.denominator) / F.denominator);
  57.             this.numerator = this.numerator + F.numerator;
  58.             return this.reduce();
  59.         }
  60.     }
  61.     public Fraction subtract(Fraction F) {
  62.         if(F.denominator == 0) {
  63.             return this.reduce();
  64.         } else {
  65.             this.numerator = this.numerator * (LCM(this.denominator, F.denominator) / this.denominator);
  66.             this.denominator = this.denominator * (LCM(this.denominator, F.denominator) / this.denominator);
  67.             F.numerator *= (LCM(this.denominator, F.denominator) / F.denominator);
  68.             this.numerator = this.numerator - F.numerator;
  69.             return this.reduce();
  70.         }
  71.     }
  72.     public Fraction multiply(Fraction F) {
  73.         if(F.numerator == 0) {
  74.             return this.reduce();
  75.         } else {
  76.             this.numerator = this.numerator * F.numerator;
  77.             this.denominator = this.denominator * F.denominator;
  78.             return this.reduce();
  79.         }
  80.     }
  81.     public Fraction divide(Fraction F) {
  82.         if(F.denominator == 0) {
  83.             return this.reduce();
  84.         } else {
  85.             this.numerator = this.numerator * F.denominator;
  86.             this.denominator = this.denominator * F.numerator;
  87.             return this.reduce();
  88.         }
  89.     }
  90.     public boolean equals(Object obj) {
  91.         if (obj instanceof Fraction) {
  92.             Fraction F = (Fraction) obj;
  93.             this.reduce();
  94.             F.reduce();
  95.             if (this.numerator == F.numerator && this.denominator == F.denominator) {
  96.                 return true;
  97.             } else {
  98.                 return false;
  99.             }
  100.         } else {
  101.             return false;
  102.         }
  103.     }
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement