elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  problemilla con matrices
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problemilla con matrices  (Leído 3,670 veces)
Aeros

Desconectado Desconectado

Mensajes: 199


Ver Perfil
problemilla con matrices
« en: 9 Julio 2010, 23:56 pm »

tengo un problemilla con esta clase que quiero usar el metodo mostrar para q me enseñe la matriz, como puedo solucionarlo (solo quiero palabras que me ayuden  NO CODIGO).

Código
  1.  
  2.  
  3.  
  4. package matrices;
  5.  
  6.  
  7. public class Main {
  8.  
  9.    public static void main(String[] args) {
  10.        Matriz v= new Matriz(); // LE TENGO QUE PASAR ALGO COMO PARAMETRO??? LE PODRIA PASAR LA MATRIZ??
  11.        v.MostrarMatriz();
  12.    }
  13.  
  14. }
  15.  


Código
  1. package matrices;
  2.  
  3. class Matriz
  4. {
  5.  
  6.    private int tamanno ;
  7.    private int[][] datos ;
  8.    public Matriz ()
  9.        {
  10.            int[][]datos = {{9,7,6},{3,6,8},{6,7,8}};
  11.            this.tamanno = tamanno;
  12.  
  13.  
  14.            }
  15. public void MostrarMatriz(){
  16.        for(int i=0;i<tamanno;i++){
  17.            for(int j=0;j<tamanno;j++)
  18.                System.out.print(datos[i][j]);
  19.        }
  20.    }
  21.  
  22.    }


En línea

Leyer


Desconectado Desconectado

Mensajes: 786


leyer@elhacker.net


Ver Perfil WWW
Re: problemilla con matrices
« Respuesta #1 en: 10 Julio 2010, 00:39 am »

Código
  1. this.tamanno = tamanno;
es 0

prueba datos.length

un saludo.


« Última modificación: 10 Julio 2010, 02:13 am por LEYER » En línea

Aeros

Desconectado Desconectado

Mensajes: 199


Ver Perfil
Re: problemilla con matrices
« Respuesta #2 en: 10 Julio 2010, 02:05 am »

pero eso no me soluciona el problema :P

tengo una duda le puedo pasar como parametro una matriz a la clase ?? sin necesidad hacerlo en el constructor??

Código
  1. Matriz v= new Matriz(); // LE TENGO QUE PASAR ALGO COMO PARAMETRO??? LE PODRIA PASAR LA MATRIZ??
En línea

Leyer


Desconectado Desconectado

Mensajes: 786


leyer@elhacker.net


Ver Perfil WWW
Re: problemilla con matrices
« Respuesta #3 en: 10 Julio 2010, 02:12 am »

No me fije que estas creando un array nuevo en el constructor por eso no funciona, tendrias que asignarlo

 
Código
  1. int[][]datos = {{9,7,6},{3,6,8},{6,7,8}};
  2. this.datos=datos;

y claro que le podrias pasar una matriz

Código
  1. public Matriz (int matriz[][]){}
« Última modificación: 10 Julio 2010, 02:14 am por LEYER » En línea

Aeros

Desconectado Desconectado

Mensajes: 199


Ver Perfil
Re: problemilla con matrices
« Respuesta #4 en: 10 Julio 2010, 02:30 am »

Grosoo gracias

codigo final

Código
  1. package matrices;
  2.  
  3. class Matriz
  4. {
  5.    private int tamanno ;
  6.    private int[][] datos ;
  7.    public Matriz (int datos[][])
  8.        {
  9.            this.datos = datos ;
  10.            this.tamanno = datos.length;
  11.    }
  12. public void MostrarMatriz(){
  13.        for(int i=0;i<tamanno+1;i++){
  14.            for(int j=0;j<tamanno+1;j++){
  15.                System.out.print(datos[i][j]);
  16.        }
  17.        System.out.println("");
  18. }
  19.  
  20.    }
  21. }
  22.  

Código
  1.  
  2.  
  3. package matrices;
  4.  
  5.  
  6. public class Main {
  7.  
  8.    public static void main(String[] args) {
  9.        int pepe[][]={{5,6,7},{5,8,9}};
  10.        Matriz v= new Matriz(pepe);
  11.        v.MostrarMatriz();
  12.    }
  13.  
  14. }
En línea

nicolas_cof


Desconectado Desconectado

Mensajes: 348


Into the Wild


Ver Perfil WWW
Re: problemilla con matrices
« Respuesta #5 en: 11 Julio 2010, 11:29 am »

Aeros, yo haria las siguientes modificaciones a tu codigo...

En Java una matriz bidimensional es un vector de vectores fila, o más en concreto un vector de referencias a los vectores fila. Con este esquema, cada fila podría tener un número de elementos diferente. Sabiendo esto hacer lo siguiente this.tamanio = datos.length; te daria error en el caso de variar como en el ejemplo planteado int pepe[][] = { {5,6,7}, {5,8,9,4} };

Código
  1. package matrices;
  2.  
  3. public class Main
  4. {
  5. public static void main( String[] args )
  6. {
  7. int pepe[][] = { { 5, 6, 7 }, { 5, 8, 9, 4 } };
  8. Matriz v = new Matriz( pepe );
  9. v.MostrarMatriz();
  10. System.exit( 0 );
  11. }
  12. }

Código
  1. package matrices;
  2.  
  3. public class Matriz
  4. {
  5. private int tamanio;
  6. private int[][] datos;
  7.  
  8. public Matriz( int datos[][] )
  9. {
  10. this.datos = datos;
  11. this.tamanio = datos.length;
  12. }
  13.  
  14. public void MostrarMatriz()
  15. {
  16. for ( int i = 0; i < tamanio; ++i )
  17. {
  18. for ( int j = 0; j < datos[i].length; ++j )
  19. {
  20. System.out.print( datos[i][j] );
  21. }
  22. System.out.println( "" );
  23. }
  24.  
  25. }
  26. }

Salu10.
« Última modificación: 11 Julio 2010, 19:54 pm por nicolas_cof » En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: problemilla con matrices
« Respuesta #6 en: 11 Julio 2010, 13:48 pm »

Haber... por favor añadan las quotes de codigo java de GeShi... no quiero tener que borrar posts...  :¬¬

Saludos
En línea

Aeros

Desconectado Desconectado

Mensajes: 199


Ver Perfil
Re: problemilla con matrices
« Respuesta #7 en: 11 Julio 2010, 22:34 pm »

Aeros, yo haria las siguientes modificaciones a tu codigo...

En Java una matriz bidimensional es un vector de vectores fila, o más en concreto un vector de referencias a los vectores fila. Con este esquema, cada fila podría tener un número de elementos diferente. Sabiendo esto hacer lo siguiente this.tamanio = datos.length; te daria error en el caso de variar como en el ejemplo planteado int pepe[][] = { {5,6,7}, {5,8,9,4} };

Código
  1. package matrices;
  2.  
  3. public class Main
  4. {
  5. public static void main( String[] args )
  6. {
  7. int pepe[][] = { { 5, 6, 7 }, { 5, 8, 9, 4 } };
  8. Matriz v = new Matriz( pepe );
  9. v.MostrarMatriz();
  10. System.exit( 0 );
  11. }
  12. }

Código
  1. package matrices;
  2.  
  3. public class Matriz
  4. {
  5. private int tamanio;
  6. private int[][] datos;
  7.  
  8. public Matriz( int datos[][] )
  9. {
  10. this.datos = datos;
  11. this.tamanio = datos.length;
  12. }
  13.  
  14. public void MostrarMatriz()
  15. {
  16. for ( int i = 0; i < tamanio; ++i )
  17. {
  18. for ( int j = 0; j < datos[i].length; ++j )
  19. {
  20. System.out.print( datos[i][j] );
  21. }
  22. System.out.println( "" );
  23. }
  24.  
  25. }
  26. }

Salu10.

si es verdad me apresure en postear :D

gracias nuevamente !
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines