Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/11/2012, 03:40
Avatar de tofol
tofol
 
Fecha de Ingreso: febrero-2008
Mensajes: 30
Antigüedad: 16 años, 2 meses
Puntos: 1
Pregunta No se porque no me salen los resultados por consola

Hola estoy haciendo una clase para fracciones (racionales), sumar ,restar, simplificar etc con fracciones. Tengo el código bastante adelantado ya que lo que he hecho es adaptar uno de complejos. El caso es que tengo un método para mostrar las fracciones por pantalla pero no me muestra nada y no obtengo mensajes de error al ejecutarlo.
El de complejos sí funciona.

El código de la clase es:

Código:
package fracciones;


public class Fractions {
    private int num;
    private int denom;
    
   public Fractions() {
        this.num = 0;
        this.denom = 0;
    }
    public Fractions(int num, int denom) {
        this.num = num;
        this.denom = denom;
        
    }
    public Fractions(Fractions input) {
      this.num = input.getNum();
      this.denom = input.getDenom();
    }
    public int getNum() {
      return this.num;
    }
    public int getDenom() {
      return this.denom;
    }
     public void setNum(int num) {
      this.num = num;
    }
    
    public void setDenom(int denom) {
      this.denom = denom;
    }   
    
    public Fractions sumar(Fractions op) {
      
      Fractions suma = new Fractions();
      
      int numerador;
      int denominador;
      
      denominador = mcm(this.denom,op.getDenom());
      numerador = (denominador/this.denom)*this.num+(denominador/op.getDenom())*op.getNum();
      
      suma.setNum(numerador);
      suma.setDenom(denominador);
      
      return suma;
    }
    public Fractions restar(Fractions op) {
      
      Fractions resta = new Fractions();
      
      int numerador;
      int denominador;
      
      denominador = mcm(this.denom,op.getDenom());
      numerador = (denominador/this.denom)*this.num-(denominador/op.getDenom())*op.getNum();
      
      resta.setNum(numerador);
      resta.setDenom(denominador);
      
      return resta;
    }
    
    public Fractions producto(Fractions op) {
      
      Fractions multiplicar = new Fractions();
      
      multiplicar.setNum(this.num*op.getNum());
      multiplicar.setDenom(this.denom*op.getDenom());
     
      
      return simplificar(multiplicar);
    }
    
    public Fractions division(Fractions op) {
      
      Fractions dividir = new Fractions();
      
      dividir.setNum(this.num*op.getDenom());
      dividir.setDenom(this.denom*op.getNum());
      
      return dividir;
    }
    
    public Fractions simplificar(Fractions op) {
        Fractions frac = new Fractions();
        int a;
        
        a = mcd(this.num,this.denom);
        while(a!=1) {
          frac.setNum(this.num/a);
          frac.setDenom(this.denom/a);
        }   
        
        return frac;
    }
    public int mcd(int a, int b) {
        if(b==0) {
            return a;
        }
        else {
            return mcd(b, a % b);
        }
     }
     public  int mcm(int a, int b) {
         return (a*b)/mcd(a,b);
     }
    public String pantalla() {
        return(this.num + "/" + this.denom + "");
    }
}
Y el código del programa main es éste:

Código:
package fracciones;

public class Fracciones {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
 
        
        Fractions quebrado1;
        Fractions quebrado2;
        Fractions quebrado3;
        
        quebrado1 = new Fractions(8,6);
        quebrado2 = new Fractions(2,3);
        
        quebrado3 = quebrado1.sumar(quebrado2);
        quebrado3.pantalla();
        quebrado1.pantalla();
        System.out.println(quebrado1.getNum() + "/" + quebrado1.getDenom());
    }
}
Lo que no me funciona es el método pantalla(), no me pone error pero no me muestra por consola las fracciones.
Gracias
__________________
http://linuxmusica.com