matin mortazavi
This commit is contained in:
@@ -55,26 +55,42 @@ public class Rational {
|
||||
// Formula: a/b - c/d = (a*d - c*b) / (b*d)
|
||||
public Rational subtract(Rational other) {
|
||||
// YOUR CODE HERE
|
||||
return null; // Remove this line when implemented
|
||||
int NewNumerator = ((this.numerator)*other.denominator)-((this.denominator)*other.numerator) ;
|
||||
int NewDenominator = (this.denominator)*other.denominator;
|
||||
|
||||
return new Rational(NewNumerator ,NewDenominator);
|
||||
|
||||
|
||||
// Remove this line when implemented
|
||||
}
|
||||
|
||||
// TODO: Static method - r1 - r2
|
||||
public static Rational subtract(Rational r1, Rational r2) {
|
||||
// YOUR CODE HERE
|
||||
return null; // Remove this line when implemented
|
||||
int NewNumerator = (r1.numerator* r2.denominator)-(r1.denominator* r2.numerator) ;
|
||||
int NewDenominator = r1.denominator* r2.denominator ;
|
||||
|
||||
return new Rational(NewNumerator ,NewDenominator);
|
||||
}
|
||||
|
||||
// TODO: Instance method - this * other
|
||||
// Formula: (a/b) * (c/d) = (a*c) / (b*d)
|
||||
public Rational multiply(Rational other) {
|
||||
// YOUR CODE HERE
|
||||
return null; // Remove this line when implemented
|
||||
int NewNumerator = this.numerator*other.numerator ;
|
||||
int NewDenominator = this.denominator*other.denominator ;
|
||||
|
||||
return new Rational(NewNumerator ,NewDenominator);
|
||||
}
|
||||
|
||||
// TODO: Static method - r1 * r2
|
||||
public static Rational multiply(Rational r1, Rational r2) {
|
||||
int NewNumerator = r1.numerator* r2.numerator ;
|
||||
int NewDenominator = r1.denominator* r2.denominator ;
|
||||
|
||||
return new Rational(NewNumerator ,NewDenominator);
|
||||
// YOUR CODE HERE
|
||||
return null; // Remove this line when implemented
|
||||
//return null; // Remove this line when implemented
|
||||
}
|
||||
|
||||
// TODO: Instance method - this / other
|
||||
@@ -83,13 +99,32 @@ public class Rational {
|
||||
// YOUR CODE HERE
|
||||
// HINT: Division is multiplication by reciprocal
|
||||
// Don't forget to check if other.numerator is zero!
|
||||
return null; // Remove this line when implemented
|
||||
// return null; // Remove this line when implemented
|
||||
if (other.numerator == 0 )
|
||||
{
|
||||
throw new ArithmeticException("cannot divide ") ;
|
||||
}
|
||||
int NewNumerator = this.numerator*other.denominator ;
|
||||
int NewDenominator = this.denominator*other.numerator ;
|
||||
return new Rational(NewNumerator ,NewDenominator);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
// TODO: Static method - r1 / r2
|
||||
public static Rational divide(Rational r1, Rational r2) {
|
||||
// YOUR CODE HERE
|
||||
return null; // Remove this line when implemented
|
||||
if (r2.numerator == 0 )
|
||||
{
|
||||
throw new ArithmeticException("cannot divide ") ;
|
||||
}
|
||||
int NewNumerator = r1.numerator * r2.denominator ;
|
||||
int NewDenominator = r1.denominator * r2.numerator ;
|
||||
return new Rational(NewNumerator ,NewDenominator);
|
||||
|
||||
|
||||
//return null; // Remove this line when implemented
|
||||
}
|
||||
|
||||
// PROVIDED - String representation
|
||||
|
||||
Reference in New Issue
Block a user