Advertisement
bojjenclon

Reduce Rational

Oct 13th, 2011
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.96 KB | None | 0 0
  1. public class Rational {
  2.     public static int GCD( int numerator, int denominator ) {
  3.         if( denominator == 0 ) {
  4.             return( numerator );
  5.         }
  6.         else {
  7.             return( GCD( denominator, numerator % denominator ) );
  8.         }
  9.     }
  10.  
  11.     public static String ratString( int numerator, int denominator ) {
  12.         int gcd = GCD( numerator, denominator );
  13.  
  14.         numerator /= gcd;
  15.         denominator /= gcd;
  16.        
  17.         boolean numerChanged = false;
  18.        
  19.         if( numerator < 0 ) {
  20.             if( denominator < 0 ) {
  21.                 numerator = -numerator;
  22.                 denominator = -denominator;
  23.                
  24.                 numerChanged = true;
  25.             }
  26.         }
  27.        
  28.         if( denominator < 0 ) {
  29.             if( !numerChanged ) {
  30.                 denominator = -denominator;
  31.                 numerator = -numerator;
  32.             }
  33.         }
  34.  
  35.         if( denominator == 1 ) {
  36.             return( String.format( "%1$d", numerator ) );
  37.         }
  38.         else {
  39.             return( String.format( "%1$d/%2$d", numerator, denominator ) );
  40.         }
  41.     }
  42.    
  43.     public static void main( String[] args ) {
  44.         System.out.println( ratString( -6, 3 ) );
  45.     }
  46. }
  47.  
  48.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement