Class Fraction

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, java.lang.Comparable

    public class Fraction
    extends java.lang.Object
    implements java.lang.Cloneable, java.lang.Comparable, java.io.Serializable
    An immutable class representing fractions as pairs of longs. Fractions are always maintained in reduced form.
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected long denominator_  
      protected long numerator_  
    • Constructor Summary

      Constructors 
      Constructor Description
      Fraction​(long num, long den)
      Create a Fraction equal in value to num / den
      Fraction​(Fraction f)
      Create a fraction with the same value as Fraction f
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      double asDouble()
      Return the value of the Fraction as a double
      java.lang.Object clone()  
      int compareTo​(long n)
      return a number less, equal, or greater than zero reflecting whether this Fraction is less, equal or greater than n.
      int compareTo​(java.lang.Object other)
      return a number less, equal, or greater than zero reflecting whether this Fraction is less, equal or greater than the value of Fraction other.
      long denominator()
      Return the denominator
      Fraction dividedBy​(long n)
      return a Fraction representing this Fraction divided by n
      Fraction dividedBy​(Fraction b)
      return a Fraction representing this Fraction divided by b
      boolean equals​(long n)  
      boolean equals​(java.lang.Object other)  
      static long gcd​(long a, long b)
      Compute the nonnegative greatest common divisor of a and b.
      int hashCode()  
      Fraction inverse()
      return a Fraction representing 1 / this Fraction
      Fraction minus​(long n)
      return a Fraction representing this Fraction minus n
      Fraction minus​(Fraction b)
      return a Fraction representing this Fraction minus b
      Fraction negative()
      return a Fraction representing the negated value of this Fraction
      long numerator()
      Return the numerator
      Fraction plus​(long n)
      return a Fraction representing this Fraction plus n
      Fraction plus​(Fraction b)
      return a Fraction representing this Fraction plus b
      Fraction times​(long n)
      return a Fraction representing this Fraction times n
      Fraction times​(Fraction b)
      return a Fraction representing this Fraction times b
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        finalize, getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • numerator_

        protected final long numerator_
      • denominator_

        protected final long denominator_
    • Constructor Detail

      • Fraction

        public Fraction​(long num,
                        long den)
        Create a Fraction equal in value to num / den
      • Fraction

        public Fraction​(Fraction f)
        Create a fraction with the same value as Fraction f
    • Method Detail

      • numerator

        public final long numerator()
        Return the numerator
      • denominator

        public final long denominator()
        Return the denominator
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • clone

        public java.lang.Object clone()
        Overrides:
        clone in class java.lang.Object
      • asDouble

        public double asDouble()
        Return the value of the Fraction as a double
      • gcd

        public static long gcd​(long a,
                               long b)
        Compute the nonnegative greatest common divisor of a and b. (This is needed for normalizing Fractions, but can be useful on its own.)
      • negative

        public Fraction negative()
        return a Fraction representing the negated value of this Fraction
      • inverse

        public Fraction inverse()
        return a Fraction representing 1 / this Fraction
      • plus

        public Fraction plus​(Fraction b)
        return a Fraction representing this Fraction plus b
      • plus

        public Fraction plus​(long n)
        return a Fraction representing this Fraction plus n
      • minus

        public Fraction minus​(Fraction b)
        return a Fraction representing this Fraction minus b
      • minus

        public Fraction minus​(long n)
        return a Fraction representing this Fraction minus n
      • times

        public Fraction times​(Fraction b)
        return a Fraction representing this Fraction times b
      • times

        public Fraction times​(long n)
        return a Fraction representing this Fraction times n
      • dividedBy

        public Fraction dividedBy​(Fraction b)
        return a Fraction representing this Fraction divided by b
      • dividedBy

        public Fraction dividedBy​(long n)
        return a Fraction representing this Fraction divided by n
      • compareTo

        public int compareTo​(java.lang.Object other)
        return a number less, equal, or greater than zero reflecting whether this Fraction is less, equal or greater than the value of Fraction other.
        Specified by:
        compareTo in interface java.lang.Comparable
      • compareTo

        public int compareTo​(long n)
        return a number less, equal, or greater than zero reflecting whether this Fraction is less, equal or greater than n.
      • equals

        public boolean equals​(java.lang.Object other)
        Overrides:
        equals in class java.lang.Object
      • equals

        public boolean equals​(long n)
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object