{Assignment 1: Your first classes}
* Assigned: Wednesday, 3 September 1997
* Due: 5pm, Wednesday, 10 September 1997
Summary:
For this assignment, you will write a few Java classes so as to familiarize
yourself with the components and techniques for writing Java programs.
You may not have
learned all the information for this assignment by the time it was assigned,
you will have learned it well in advance of the due date for the assignment.
Turning it in:
Leave your code in a publically readable directory, and email me the
location of that directory. Note that your directory should include
documentation generated by javadoc.
If this doesn't make sense to you, let me know.
Fraction class that implements simple
fractions, with a numerator and denominator.
Your Fraction class should provide the following constructors
* Fraction() - create a new fraction with a
reasonable default value.
* Fraction(int num,int denom) - create a new fraction
with numerator num and denominator denom.
* Fraction(int val) - create a new fraction with value
val (that is, numerator val and
denominator 1).
Your Fraction class should provide the following constructors
* void setValue(int num,int demon) - set the value of the
fraction.
* void setValue(Fraction f) - set the value of the fraction.
* int getNumerator() - get the numerator.
* int getDenominator() - get the denominator.
* float getValue() - convert the fraction to a
floating point number.
* String toString() - convert the fraction to a string of
the form num/denom.
* Fraction add(Fraction f) - add a fraction to the current
fraction.
This should not modify the value of the current faction.
* Fraction multiply(Fraction f) - multiply the current fraction by
another fraction.
This should not modify the value of the current faction.
* Fraction subtract(Fraction f) - subtract a fraction from the
current fraction.
This should not modify the value of the current faction.
* Fraction divide(Fraction f) - divide the value of the current
fraction by f.
This should not modify the value of the current faction.
* Fraction add(int i) - an an integer to the current fraction
This should not modify the value of the current faction.
* boolean equal(Fraction f) - returns true if f is the
same as the current fraction, and false otherwise.
* boolean smaller(Fraction f) - returns true if the
current fraction is smaller than f, and false otherwise.
Once you have completed your basic class, create a class,
TestFraction that provides a main
routine that appropriate tests your routines. Here are some
things that you might test:
* What happens with compound operations, such as f.Add(g).multiply(h)?
* If f is 2/4 and g is
1/2, what is the result of f.equal(g)?
1/2".
Add any other routines that you consider appropriate for aFraction f = new Fraction(2,4); System.out.println(f.toString());
Fraction class.