Skip to content

Commit

Permalink
Modified and added comments
Browse files Browse the repository at this point in the history
  • Loading branch information
Rohan Ramakrishnan committed Nov 7, 2016
1 parent 857dc0f commit 30d085c
Show file tree
Hide file tree
Showing 4 changed files with 81 additions and 61 deletions.
Binary file added .DS_Store
Binary file not shown.
92 changes: 51 additions & 41 deletions .idea/workspace.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions src/FracCalc.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
import java.util.Scanner;
import java.util.InputMismatchException;

/**
* @author Rohan Rk
*/
public class FracCalc {

private static String operation;
Expand Down
47 changes: 27 additions & 20 deletions src/Fraction.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,26 @@
import java.util.Scanner;

/**
* Created by rohan on 11/6/16.
* @author Rohan Rk
*/
public class Fraction {

private int whole;
private int numerator;
private int denomonator;

private int denominator;

/**
* Public constructor
*
* @param w The whole part of this fraction
* @param n The numerator of this fraction
* @param d The denominator
*/
public Fraction(int w, int n, int d) {

whole = w;
numerator = n;
setDenomonator(d);
setdenominator(d);
}

public int getWhole() {
Expand All @@ -25,24 +32,24 @@ public int getNumerator() {
return numerator;
}

public int getDenomonator() {
return denomonator;
public int getdenominator() {
return denominator;
}

public void setDenomonator(int d) {
public void setdenominator(int d) {

if (d != 0) {
denomonator = d;
denominator = d;
} else {
throw new InputMismatchException("Denomonator cannot be 0");
throw new InputMismatchException("denominator cannot be 0");
}
}

public void simplify() {

int factor = gcd(Math.abs(numerator), denomonator);
int factor = gcd(Math.abs(numerator), denominator);
numerator = numerator/factor;
denomonator = denomonator/factor;
denominator = denominator/factor;
}

public void negate() {
Expand All @@ -65,29 +72,29 @@ public void reciprocateFraction() {

this.convertImproperFraction();
int temp = numerator;
numerator = denomonator;
denomonator = numerator;
numerator = denominator;
denominator = numerator;
}

public void convertMixedNumeral() {

if (whole == 0) {
whole = numerator/denomonator;
numerator = numerator % denomonator;
whole = numerator/denominator;
numerator = numerator % denominator;
}
}

public void convertImproperFraction() {

if (whole != 0) {
numerator = whole * denomonator + numerator;
numerator = whole * denominator + numerator;
whole = 0;
}
}

@Override
public String toString() {
return String.format("%d_%d/%d", whole, Math.abs(numerator), denomonator);
return String.format("%d_%d/%d", whole, Math.abs(numerator), denominator);
}

public static Fraction parseFraction(String string) {
Expand Down Expand Up @@ -122,8 +129,8 @@ public static Fraction addFractions(Fraction a, Fraction b) {

a.convertImproperFraction();
b.convertImproperFraction();
int newNum = (a.numerator * b.denomonator) + (b.numerator * a.denomonator);
int newDen = a.denomonator * b.denomonator;
int newNum = (a.numerator * b.denominator) + (b.numerator * a.denominator);
int newDen = a.denominator * b.denominator;
Fraction result = new Fraction(0, newNum, newDen);
result.simplify();
result.convertMixedNumeral();
Expand All @@ -135,7 +142,7 @@ public static Fraction multiplyFractions(Fraction a, Fraction b) {
a.convertImproperFraction();
b.convertImproperFraction();
int newNum = a.numerator * b.numerator;
int newDen = a.denomonator * b.denomonator;
int newDen = a.denominator * b.denominator;
Fraction result = new Fraction(0, newNum, newDen);
result.simplify();
result.convertMixedNumeral();
Expand Down

0 comments on commit 30d085c

Please sign in to comment.