Help - Adding fractions

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • 1337kamikaze
    New Member
    • Oct 2008
    • 2

    #1

    Help - Adding fractions

    I can't get the common denominator to work. Please help.

    Code:
    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;}}}}
    		   
    	    }
  • BigDaddyLH
    Recognized Expert Top Contributor
    • Dec 2007
    • 1216

    #2
    Originally posted by 1337kamikaze
    I can't get the common denominator to work. Please help.

    Code:
    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;}}}}
    		   
    	    }
    Can you be more specific about your error? By the way, my compiler noticed a semicolon here, which should not be there:
    [CODE=Java]
    if (denominator2>d enominator1);[/CODE]

    Comment

    Working...