Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Fraction {
- private int numerator;
- private int denominator;
- public void setNumerator(int numerator) {
- this.numerator = numerator;
- }
- public void setDenominator(int denominator) {
- if (denominator != 0) {
- this.denominator = denominator;
- }
- }
- public int getNumerator() {
- return numerator;
- }
- public int getDenominator() {
- return denominator;
- }
- /**
- * constructor 1.
- */
- Fraction() {
- this.denominator = 1;
- }
- /**
- * constructor 2.
- *
- * @param numerator gia tri khoi tao cua tu so.
- * @param denominator gia tri khoi tao cua mau so.
- */
- Fraction(int numerator, int denominator) {
- if (denominator != 0) {
- this.numerator = numerator;
- this.denominator = denominator;
- }
- }
- /**
- * ham rut gon phan so.
- *
- * @return tra ve gia tri cua phan so do sau khi duoc rut gon.
- */
- Fraction reduce() {
- int a = numerator;
- int b = denominator;
- while (a != b) {
- if (a > b) {
- a = a - b;
- } else {
- b = b - a;
- }
- }
- numerator = numerator / a;
- denominator = denominator / a;
- return this;
- }
- /**
- * ham tinh tong cua phan so voi phan so n.
- *
- * @param n phan so n.
- * @return tra ve gia tri tong cua phan so voi phan so n.
- */
- Fraction add(Fraction n) {
- numerator = numerator * n.denominator + denominator * n.numerator;
- denominator = denominator * n.denominator;
- return this;
- }
- /**
- * ham tinh hieu cua phan so voi phan so n.
- *
- * @param n phan so n.
- * @return tra ve gia tri hieu cua phan so voi phan so n.
- */
- Fraction subtract(Fraction n) {
- numerator = numerator * n.denominator - denominator * n.numerator;
- denominator = denominator * n.denominator;
- return this;
- }
- /**
- * ham tinh tich cua phan so voi phan so n.
- *
- * @param n phan so n.
- * @return tra ve gia tri tich cua phan so voi phan so n.
- */
- Fraction multiply(Fraction n) {
- numerator = numerator * n.numerator;
- denominator = denominator * n.denominator;
- return this;
- }
- /**
- * ham tinh thuong cua phan so voi phan so n.
- *
- * @param n phan so n.
- * @return tra ve gia tri thuong cua phan so voi phan so n.
- */
- Fraction divide(Fraction n) {
- if (n.numerator == 0) {
- return this;
- } else {
- numerator = numerator * n.denominator;
- denominator = denominator * n.numerator;
- return this;
- }
- }
- /**
- * ham so sanh phan so voi phan so hien tai.
- *
- * @param obj phan so de so sanh.
- * @return tra ve true neu obj la Fraction va obj bang phan so hien tai, con lai tra ve false.
- */
- public boolean equals(Object obj) {
- if (obj instanceof Fraction) {
- Fraction other = (Fraction) obj;
- other.reduce();
- this.reduce();
- if (this.getDenominator() == other.getDenominator() && this.getNumerator() == other.getNumerator()) {
- return true;
- } else {
- return false;
- }
- } else {
- return false;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment