daily pastebin goal
41%
SHARE
TWEET

Fractions

a guest Jan 29th, 2018 56 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. public class Fraction {
  2.     private int numerator;
  3.     private int denominator = 1;
  4.  
  5.     Fraction (int n, int d) {
  6.         this.numerator = n;
  7.         this.denominator = d;
  8.         this.normalization();
  9.     }
  10.     Fraction (int n) {
  11.         this.numerator = n;
  12.     }
  13.  
  14.  
  15.     String toDecimalFractions() {
  16.         return Double.toString((double)this.numerator / (double)this.denominator);
  17.     }
  18.  
  19.     void plus(Fraction obj) {
  20.         this.denominator = this.denominator*obj.denominator;
  21.         this.numerator = this.numerator*obj.denominator + obj.numerator*this.denominator;
  22.         this.normalization();
  23.     }
  24.  
  25.     void minus(Fraction obj) {
  26.         this.denominator = this.denominator*obj.denominator;
  27.         this.numerator = this.numerator*obj.denominator - obj.numerator*this.denominator;
  28.         this.normalization();
  29.     }
  30.  
  31.     void multiplyByK(int k) {
  32.         this.numerator *= k;
  33.         this.normalization();
  34.     }
  35.  
  36.     @Override
  37.     public String toString() {
  38.         return this.numerator + "/" + this.denominator;
  39.     }
  40.  
  41.     private void normalization() {
  42.         this.numerator *= this.denominator / Math.abs(this.denominator);
  43.         this.denominator = Math.abs(this.denominator);
  44.         int nod = this.NOD(Math.abs(this.numerator), Math.abs(this.denominator));
  45.         this.numerator /= nod;
  46.         this.denominator /= nod;
  47.     }
  48.  
  49.     private int NOD(int n1, int n2)
  50.     {
  51.         int div;
  52.         if (n1 == n2)  return n1;
  53.         int d = n1 - n2;
  54.         if (d < 0) {
  55.             d = -d;  div = NOD(n1, d);
  56.         } else
  57.             div = NOD(n2, d);
  58.         return div;
  59.     }
  60. }
RAW Paste Data
Pastebin PRO WINTER Special!
Get 40% OFF Pastebin PRO accounts!
Top