can you solve this in Implement a data type Rational in Rati
can you solve this in
Implement a data type Rational in Rational.java that represents a Remote Disc rational number, i.e., a number of the form a/b where a and b notequalto 0 are integers. The data type must support the following API:Solution
Program:
Implement the main Method Accodingly
 public class Rational {
    private long x;
    private long y;
   public Rational(long x) {
        this.x = x;
        this.y = 1;
    }
   public Rational(long x, long y) {
        if (y < 0) {
            x = x * -1;
            y = y * -1;
        }
        this.x = x;
        this.y = y;
    }
   public Rational add(Rational that) {
        long commonDenominator = this.y * that.y;
        long numerator1 = this.x * that.y;
        long numerator2 = that.x * this.y;
        long sum = numerator1 + numerator2;
       return new Rational(sum, commonDenominator);
    }
   public Rational multiply(Rational that) {
        long numer = this.x * that.x;
        long denom = this.y * that.y;
       return new Rational(numer, denom);
    }
   private static long gcd(long p, long q) {
        while (p != q)
            if (p > q)
                p = p - q;
            else
                q = q - p;
       return p;
    }
   public String toString() {
        String result;
       if (x == 0)
            result = \"0\";
        else if (y == 1)
            result = x + \"\";
        else
            result = x + \"/\" + y;
       return result;
    }
public static void main(String[] args) {
}
}


