title: How does this method compute Rational(1).hashCode()? The numerator or denominator of 1 is 1 itself
body: <pre><code>/**
   * Returns a hash code for this Rational object.  That hash code is
   * derived from the hash codes for its two components.  This design
   * decision ensures that two Rational objects that are equal will have
   * the same hash code.
   * @return An integer hash code for this object
   */
  
  public int hashCode() {
      return new Integer(num).hashCode() ^ (37 * new Integer(den).hashCode());
  }
  </code></pre>