Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- import java.io.*;
- public class Fraction {
- private int numerator;
- private int denominator;
- public int getNumerator() {
- return numerator;
- }
- public void setNumerator(int numerator) {
- this.numerator = numerator;
- }
- public int getDenominator() {
- return denominator;
- }
- public void setDenominator(int denominator) {
- if(denominator == 0) {
- this.denominator = this.denominator;
- } else {
- this.denominator = denominator;
- }
- }
- public Fraction(int numerator, int denominator) {
- this.numerator = numerator;
- this.denominator = 1;
- }
- public int GCD(int a, int b) {
- while(b != 0) {
- int temp = a%b;
- a=b;
- b=temp;
- }
- return a;
- }
- public Fraction reduce() {
- int temp = GCD(this.numerator, this.denominator);
- this.numerator = numerator/temp;
- this.denominator = denominator/temp;
- return this;
- }
- public int LCM(int a, int b) {
- int temp = a*b;
- temp = Math.abs(temp) / GCD(a, b);
- return temp;
- }
- public Fraction add(Fraction F) {
- if(F.denominator == 0) {
- return this.reduce();
- } else {
- this.numerator = this.numerator * (LCM(this.denominator, F.denominator) / this.denominator);
- this.denominator = this.denominator * (LCM(this.denominator, F.denominator) / this.denominator);
- F.numerator *= (LCM(this.denominator, F.denominator) / F.denominator);
- this.numerator = this.numerator + F.numerator;
- return this.reduce();
- }
- }
- public Fraction subtract(Fraction F) {
- if(F.denominator == 0) {
- return this.reduce();
- } else {
- this.numerator = this.numerator * (LCM(this.denominator, F.denominator) / this.denominator);
- this.denominator = this.denominator * (LCM(this.denominator, F.denominator) / this.denominator);
- F.numerator *= (LCM(this.denominator, F.denominator) / F.denominator);
- this.numerator = this.numerator - F.numerator;
- return this.reduce();
- }
- }
- public Fraction multiply(Fraction F) {
- if(F.numerator == 0) {
- return this.reduce();
- } else {
- this.numerator = this.numerator * F.numerator;
- this.denominator = this.denominator * F.denominator;
- return this.reduce();
- }
- }
- public Fraction divide(Fraction F) {
- if(F.denominator == 0) {
- return this.reduce();
- } else {
- this.numerator = this.numerator * F.denominator;
- this.denominator = this.denominator * F.numerator;
- return this.reduce();
- }
- }
- public boolean equals(Object obj) {
- if (obj instanceof Fraction) {
- Fraction F = (Fraction) obj;
- this.reduce();
- F.reduce();
- if (this.numerator == F.numerator && this.denominator == F.denominator) {
- return true;
- } else {
- return false;
- }
- } else {
- return false;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement