/**
 *	Takes a Fraction object and reduces it to it's lowest level, including
 *	accounting for whole numbers, and then returns a string
 *	@param	frac Fraction the fraction to be recuded
 *	@return String the output of the reduced fraction
 */
public static String reduceFraction(Fraction frac){
    // 	Get Current Numerator, and Denominator
    int num = frac.getNumerator();
    int den = frac.getDenominator();
    //	Create and Initilize variables for output
    String output = "";
    int whole = num/den;
    
    //	If the Numerator is greator than the Denominator, then remove the 
    //	whole number, and save it to the string.
    if (whole>=1){
        output = Integer.toString(whole) + " ";
        num = num - (whole * den);
    }
    
    //	If there is any remainder from the removing of whole numbers, then 
    //	divide both the Numerator and Denominator by half of the Denominator
    //	untill both have no remainder, then apply.
    //	Append to Output if this was run, otherwise output will remain as
    //	the whole number from above.
    if (num > 0){
        for (int i=(den/2); i>1; i--){
                if ((den % i == 0) && (num % i == 0)){
                    num = num / i;
                    den = den / i;
                }
        }
        output += num + "/" + den;
    }

    return output;
}