Advertisement
alduncin

Fracciones.java

Feb 10th, 2012
378
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.36 KB | None | 0 0
  1. // Fracciones.java
  2. //package carpeta;
  3.  
  4. import java.util.*;
  5. public class Fracciones
  6. {
  7.     private int numerador, denominador;
  8.     public Fracciones (String dato)
  9.     {
  10.     if(dato.indexOf("/") >= 0)
  11.         {
  12.         //entra cuando hay un slash en el string
  13.         this.numerador=Integer.parseInt(dato.substring(0,dato.indexOf("/")));
  14.         this.denominador=Integer.parseInt(dato.substring(dato.indexOf("/")+1));
  15.         }
  16.     else
  17.         {
  18.  
  19.         this.numerador=Integer.parseInt(dato);
  20.         this.denominador=1;
  21.         }  
  22.     }
  23.     public Fracciones()
  24.     {  
  25.     this.numerador=0;
  26.     this.denominador=1;
  27.     }
  28.     public Fracciones (final int n)
  29.     {
  30.     this.numerador=n;
  31.     this.denominador=1;
  32.     }  
  33.     public Fracciones(final int n, final int d)
  34.     {
  35.     if(d==0)
  36.     {
  37.         System.out.println("Error el denominador no puede ser cero");
  38.     return;
  39.     }
  40.     this.numerador=n;
  41.     this.denominador=d;
  42.     }
  43.    
  44.  
  45.     public static Fracciones suma( Fracciones f1 ,Fracciones f2)
  46.     {
  47.     int numerador,denominador;
  48.     numerador =(f1.GetNumerador()*f2.GetDenominador())+
  49.         (f2.GetNumerador()*f1.GetDenominador());
  50.     denominador =f1.GetDenominador()*f2.GetDenominador();
  51.     return new Fracciones(numerador,denominador);    
  52.     }
  53.     public static Fracciones resta( Fracciones f1, Fracciones f2)
  54.     {
  55.     int numerador,denominador;
  56.     numerador=(f1.GetNumerador()*f2.GetDenominador())-
  57.         (f2.GetNumerador()*f1.GetDenominador());
  58.     denominador= f1.GetDenominador()*f2.GetDenominador();
  59.     return new Fracciones(numerador,denominador);    
  60.     }
  61.     public static Fracciones  multiplicacion( Fracciones f1,Fracciones f2)
  62.     {
  63.     int numerador,denominador;
  64.     numerador=f1.GetNumerador()*f2.GetNumerador();
  65.     denominador=f1.GetDenominador()*f2.GetDenominador();
  66.     return new Fracciones(numerador,denominador);
  67.     }
  68.     public static Fracciones division( Fracciones f1,Fracciones f2)
  69.     {
  70.     int numerador,denominador;
  71.     numerador=f1.GetNumerador()*f2.GetDenominador();
  72.     denominador=f1.GetDenominador()*f2.GetNumerador();
  73.     return new Fracciones(numerador,denominador);
  74.     }
  75.  
  76.     public void simpli()
  77.     {
  78.     //simplificacion...
  79.     int a,b,mod;
  80.     if(this.numerador%this.denominador == 0)
  81.         {
  82.         this.numerador=this.numerador/this.denominador;
  83.         this.denominador=1;
  84.         }
  85.     if(this.numerador>this.denominador)
  86.         {
  87.         a=this.numerador;
  88.         b=this.denominador;
  89.         }
  90.     else
  91.         {
  92.         a=this.denominador;
  93.         b=this.numerador;
  94.         }
  95.     while(b != 0)
  96.         {
  97.         mod=a%b;
  98.         a=b;
  99.         b=mod;
  100.         }  
  101.     this.denominador=this.denominador/a;
  102.     this.numerador=this.numerador/a;
  103.     }  
  104.  
  105.     public void printf()
  106.     {
  107.     System.out.print(this.numerador+((this.denominador==1)?" ":"/"+this.denominador));  
  108.     }
  109.     public int  GetNumerador()
  110.     {
  111.     return numerador;
  112.     }
  113.     public int GetDenominador()
  114.     {
  115.     return denominador;
  116.     }
  117.  
  118.  
  119.  
  120.  
  121.  
  122.     //main    
  123.     public static void main (String args[])
  124.     {
  125.         Scanner  lector = new Scanner(System.in);
  126.    
  127.     System.out.print("Fraccion n/d o tu numero : ");
  128.    
  129.     String dato;
  130.    
  131.     dato=lector.next();    
  132.  
  133.         Fracciones a = new Fracciones (dato);
  134.  
  135.     //Fracciones b;
  136.     System.out.print("Fraccion o num n/d ");
  137.     dato=lector.next();
  138.  
  139.     Fracciones b = new Fracciones (dato);
  140.  
  141.     Fracciones c = new Fracciones ();
  142.         System.out.println("\n ");
  143.     a.printf();
  144.     System.out.print(" + ");
  145.     b.printf();
  146.     System.out.print(" = ");
  147.     //  c.suma(a,b);
  148.     c = Fracciones.suma(a,b);
  149.     c.printf();
  150.     System.out.print(" es = ");
  151.     c.simpli();
  152.     c.printf();
  153.     System.out.println(" ");
  154.     //resta
  155.     a.printf();
  156.     System.out.print( " - ");
  157.     b.printf();
  158.     System.out.print(" = ");
  159.     //c.resta(a,b);
  160.         c= Fracciones.resta(a,b);
  161.     c.printf();
  162.     System.out.print(" es = ");
  163.     c.simpli();
  164.     c.printf();
  165.     //parametros originales del objeto .-.
  166.     System.out.println(" ");
  167.  
  168.     a.printf();                                                    
  169.     System.out.print(" * ");
  170.     b.printf();
  171.     System.out.print(" = ");
  172.     //c.multiplicacion(a,b);
  173.     c=Fracciones.multiplicacion(a,b);
  174.     c.printf();
  175.     c.simpli();
  176.     System.out.print(" es = ");
  177.     c.printf();
  178.     System.out.println(" ");
  179.     //._.
  180.     a.printf();
  181.     System.out.print(" / ");
  182.     b.printf();
  183.         System.out.print(" = ");
  184.     //c.division(a,b);
  185.     c= Fracciones.division(a,b);
  186.     c.printf();
  187.     c.simpli();
  188.     System.out.print(" es = ");
  189.     c.printf();
  190.     System.out.print("  ");
  191.     //multiplicar restar dividir D:
  192.     }
  193. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement