Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Rational.java
- * The purpose of this class is to print out rational numbers and find the gct if possible
- *
- * @author Cameron Lee
- * @version 11/13/2018
- */
- public class Rational
- {
- private int numerator;
- private int denominator;
- public Rational(int numerator, int denominator)
- {
- this.numerator = numerator;
- this.denominator = denominator;
- }
- public double getRationalAsDouble()
- {
- return(this.numerator/(double)this.denominator);
- }
- public void reduce()
- {
- // Finds the greatest common denominator
- int gcd = 1;
- for(int i = 1; i <= this.numerator && i <= this.denominator; i++)
- {
- // Checks to see if i can be factored from both numerator and denominator
- if(this.numerator % i == 0 && this.denominator % i == 0)
- {
- gcd = i;
- }
- }
- this.numerator = this.numerator/gcd;
- this.denominator = this.denominator/gcd;
- }
- public void addRational(Rational rational)
- {
- // Creates new denominator
- int a = this.denominator * rational.denominator;
- // Creates new numerator
- int b = this.numerator * rational.denominator;
- int c = this.denominator * rational.numerator;
- this.numerator = b + c;
- this.denominator = a;
- // Reduces the number
- this.reduce();
- }
- public static void main(String[] args)
- {
- Rational half = new Rational(2, 4);
- Rational third = new Rational(3, 9);
- Rational fourth = new Rational(12, 48);
- System.out.println(half.numerator + "/" + half.denominator);
- System.out.println("+");
- System.out.println(third.numerator + "/" + third.denominator);
- System.out.println("=");
- half.addRational(third);
- System.out.println(half.numerator + "/" + half.denominator);
- System.out.println("");
- System.out.println(fourth.numerator + "/" + fourth.denominator);
- System.out.println("=");
- fourth.reduce();
- System.out.println(fourth.numerator + "/" + fourth.denominator);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement