Foro de elhacker.net

Programación => Java => Mensaje iniciado por: ;c1v!c en 5 Diciembre 2012, 20:03 pm



Título: Problema al mostrar return de metodo
Publicado por: ;c1v!c en 5 Diciembre 2012, 20:03 pm
Estoy teniendo problemas con la asignacion parece en un metodo dentro de esta clase. cuando hice el debug me dice q la "aux" contiene estos "primerasClases.Fraccion@4a5ab2", osea cualquier cosa.


CLASE FRACCION
Código
  1. package primerasClases;
  2.  
  3. public class Fraccion {
  4.  
  5. private int num;
  6. private int den;
  7.  
  8. // constructor
  9. public Fraccion (int a, int b){
  10. num=a;
  11. den=b;
  12. }
  13. //mostrar suma fraccion
  14. public void muestraSumafraccion(){
  15. System.out.println("La suma de la fraccion es: "+Fraccion.fraccionSumar(null, null));
  16. }
  17.  
  18. //muestra fraccion por pantalla
  19. public void fraccionMostrar(){
  20. System.out.println(num+"/"+den);
  21. }
  22. //obtiene el denominador de la fraccion
  23. public int fraccionDen(){
  24. return den;
  25. }
  26. //suma 2 fracciones, recibe una de ellas como parametro y retorna la
  27. // fraccion resultado
  28. public static Fraccion fraccionSumar(Fraccion f1, Fraccion f2){
  29. int num1 = (f1.num*f2.den) + (f1.den*f2.num);
  30. int den2 = f1.den*f2.den;
  31. //si lo imprimo asi me sale bien la fraccion
  32. // System.out.println(num1+"/"+den2);
  33. //-------> aca esta el error me parece <-------
  34. Fraccion aux = new Fraccion(num1,den2);
  35. return aux;
  36. }


MAIN
Código
  1. package primerasClases;
  2.  
  3. public class FraccionAplicacion {
  4.  
  5. public static void main(String[] args) {
  6.  
  7. // creo el objeto fraccion
  8. Fraccion f1 = new Fraccion(2,2);
  9. Fraccion f2 = new Fraccion(2,2);
  10.  
  11.  System.out.println("La suma es:"+Fraccion.fraccionSumar(f1, f2)+"\n");
  12.  
  13. }
  14.  
  15. }

me imprime esto "La suma es: primerasClases.Fraccion@4a5ab2"
en lugar de imprimir la suma de la fracciones


Título: Re: Problema al mostrar return de metodo
Publicado por: Legnak en 6 Diciembre 2012, 00:51 am
creaste el procedimiento fraccionMostrar() para no usarlo? xD

Código
  1. package primerasClases;
  2.  
  3. public class FraccionAplicacion {
  4.  
  5. public static void main(String[] args) {
  6.  
  7. // creo el objeto fraccion
  8. Fraccion f1 = new Fraccion(2,2);
  9. Fraccion f2 = new Fraccion(2,2);
  10. Fraccion.fraccionSumar(f1, f2).fraccionMostrar();
  11.  
  12. }
  13.  
  14. }
  15.  


Título: Re: Problema al mostrar return de metodo
Publicado por: ;c1v!c en 6 Diciembre 2012, 14:29 pm
que grande no conocia esta forma de llamar a ese metodo.
"Fraccion.fraccionSumar(f1, f2).fraccionMostrar();" pasa que ponia ese metodo
y me salia alguna q habia pasado como parametro y no la suma de las fracciones.
gracias...


Título: Re: Problema al mostrar return de metodo
Publicado por: sapito169 en 13 Diciembre 2012, 19:14 pm
mejor sobre escribe el metodoToString


package primerasClases;
 
public class Fraccion {
 
   ...
   public String toString(){      
      return (num+"/"+den);
   }

}

y en el main


system.out.print(new Fraccion(2,2));