Expand|Select|Wrap|Line Numbers
- import java.util.*;
- import java.lang.*;
- public class Fraction {
- /**
- * @param args
- */
- public static void main(String[] args) {
- // User input
- Scanner scan = new Scanner(System.in);
- System.out.println ("Input numerator from first fraction: ");
- int numerator1 = scan.nextInt();
- System.out.println ("Input denominator from first fraction");
- int denominator1 = scan.nextInt();
- System.out.println ("Input numerator from second fraction");
- int numerator2 = scan.nextInt();
- System.out.println ("Input denominator from second fraction");
- int denominator2 = scan.nextInt();
- //Check for invalid integers
- if (denominator1 <= 0 || denominator2 <=0){
- System.out.println ("Can not have a zero in denominator");
- }
- //Compare two denominators
- int smallNum = 0, bigNum = 0, bigDenom = 0, smallDenom = 0;
- if(denominator1>denominator2)
- {
- bigNum = numerator1;
- smallNum = numerator2;
- bigDenom = denominator2;
- smallDenom = denominator1;
- }
- if (denominator2>denominator1);
- {
- bigNum = numerator2;
- smallNum = numerator1;
- bigDenom = denominator1;
- smallDenom = denominator2;
- }
- //Find common denominator
- int newDenom = bigDenom;
- if (smallDenom == 0){System.out.println ("You suck");}
- else {
- int newNum = ((newDenom / smallDenom)* smallNum);
- System.out.println(newNum);
- System.out.println(bigDenom);
- System.out.println(smallDenom);
- System.out.println(smallNum);
- System.out.println(bigNum);
- // Add the fractions
- int sumNum, sumDenom;
- sumNum = (newNum + bigNum);
- sumDenom = bigDenom;
- // Simplify fraction
- int biggerNumber; int smallerNumber;
- if(sumNum>sumDenom)
- {
- biggerNumber=sumNum;
- smallerNumber=sumDenom;}
- else
- {
- biggerNumber=sumNum;
- smallerNumber=sumDenom;
- }
- for(int divisor=1;
- divisor<=biggerNumber;divisor++)
- {
- if
- (((biggerNumber*divisor)%smallerNumber)==0)
- {
- int LCM=biggerNumber*divisor;
- break;
- }
- }
- int count=1;
- while(count!=0){count=biggerNumber%smallerNumber;
- if(count==0)
- {
- System.out.println ((sumNum / smallerNumber) + "/" + (sumDenom / smallerNumber));}
- else{
- biggerNumber=smallerNumber;
- smallerNumber=count;}}}}
- }