Advertisement
Ivan_Bochev

Fraction class

Mar 30th, 2019 (edited)
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.72 KB | None | 0 0
  1. package kr_2;
  2.  
  3. public class Fraction {
  4.     private int numerator;
  5.     private int denominator;
  6.  
  7.     public Fraction(int num, int denum) {
  8.         this.numerator = num;
  9.         this.denominator = denum;
  10.     }
  11.  
  12.     public Fraction(String txt) {
  13.         String[] nums = txt.split("/");
  14.         this.numerator = Integer.parseInt(nums[0]);
  15.         this.denominator = Integer.parseInt(nums[1]);
  16.     }
  17.  
  18.     @Override
  19.     public String toString() {
  20.         String str = this.numerator + "/" + this.denominator;
  21.         return str;
  22.     }
  23.  
  24.     public Fraction sum(Fraction anotherFr) {
  25.         int num = this.numerator * anotherFr.denominator + anotherFr.numerator * this.denominator;
  26.         int denum = this.denominator * anotherFr.denominator;
  27.         Fraction fr = new Fraction(num, denum);
  28.         fr.sakrati();
  29.         return fr;
  30.     }
  31.  
  32.     public Fraction subtract(Fraction anotherFr) {
  33.         int num = this.numerator * anotherFr.denominator - anotherFr.numerator * this.denominator;
  34.         int denum = this.denominator * anotherFr.denominator;
  35.         Fraction fr = new Fraction(num, denum);
  36.         fr.sakrati();
  37.         return fr;
  38.     }
  39.  
  40.     public Fraction multiply(Fraction anotherFr) {
  41.         int num = this.numerator * anotherFr.numerator;
  42.         int denum = this.denominator * anotherFr.denominator;
  43.         Fraction fr = new Fraction(num, denum);
  44.         fr.sakrati();
  45.         return fr;
  46.     }
  47.  
  48.     public Fraction divide(Fraction anotherFr) {
  49.         int num = this.numerator * anotherFr.denominator;
  50.         int denum = this.denominator * anotherFr.numerator;
  51.         Fraction fr = new Fraction(num, denum);
  52.         fr.sakrati();
  53.         return fr;
  54.     }
  55.  
  56.     private int gcd(int a, int b) {
  57.         if (b == 0) {
  58.             return a;
  59.         } else {
  60.             return gcd(b, a % b);
  61.         }
  62.     }
  63.  
  64.     public void sakrati() {
  65.         int div = gcd(this.denominator, this.numerator);
  66.         this.numerator /= div;
  67.         this.denominator /= div;
  68.     }
  69.  
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement