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).
package matrices;
public class Main {
public static void main(String[] args) {
Matriz v= new Matriz(); // LE TENGO QUE PASAR ALGO COMO PARAMETRO??? LE PODRIA PASAR LA MATRIZ??
v.MostrarMatriz();
}
}
package matrices;
class Matriz
{
private int tamanno ;
private int[][] datos ;
public Matriz ()
{
int[][]datos = {{9,7,6},{3,6,8},{6,7,8}};
this.tamanno = tamanno;
}
public void MostrarMatriz(){
for(int i=0;i<tamanno;i++){
for(int j=0;j<tamanno;j++)
System.out.print(datos[i][j]);
}
}
}
this.tamanno = tamanno;
es 0
prueba datos.length
un saludo.
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??
Matriz v= new Matriz(); // LE TENGO QUE PASAR ALGO COMO PARAMETRO??? LE PODRIA PASAR LA MATRIZ??
No me fije que estas creando un array nuevo en el constructor por eso no funciona, tendrias que asignarlo
int[][]datos = {{9,7,6},{3,6,8},{6,7,8}};
this.datos=datos;
y claro que le podrias pasar una matriz
public Matriz (int matriz[][]){}
Grosoo gracias
codigo final
package matrices;
class Matriz
{
private int tamanno ;
private int[][] datos ;
public Matriz (int datos[][])
{
this.datos = datos ;
this.tamanno = datos.length;
}
public void MostrarMatriz(){
for(int i=0;i<tamanno+1;i++){
for(int j=0;j<tamanno+1;j++){
System.out.print(datos[i][j]);
}
System.out.println("");
}
}
}
package matrices;
public class Main {
public static void main(String[] args) {
int pepe[][]={{5,6,7},{5,8,9}};
Matriz v= new Matriz(pepe);
v.MostrarMatriz();
}
}
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} };
package matrices;
public class Main
{
public static void main( String[] args )
{
int pepe[][] = { { 5, 6, 7 }, { 5, 8, 9, 4 } };
Matriz v = new Matriz( pepe );
v.MostrarMatriz();
System.exit( 0 );
}
}
package matrices;
public class Matriz
{
private int tamanio;
private int[][] datos;
public Matriz( int datos[][] )
{
this.datos = datos;
this.tamanio = datos.length;
}
public void MostrarMatriz()
{
for ( int i = 0; i < tamanio; ++i )
{
for ( int j = 0; j < datos[i].length; ++j )
{
System.out.print( datos[i][j] );
}
System.out.println( "" );
}
}
}
Salu10.
Haber... por favor añadan las quotes de codigo java de GeShi... no quiero tener que borrar posts... :¬¬
Saludos
Cita de: nicolas_cof 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} };
package matrices;
public class Main
{
public static void main( String[] args )
{
int pepe[][] = { { 5, 6, 7 }, { 5, 8, 9, 4 } };
Matriz v = new Matriz( pepe );
v.MostrarMatriz();
System.exit( 0 );
}
}
package matrices;
public class Matriz
{
private int tamanio;
private int[][] datos;
public Matriz( int datos[][] )
{
this.datos = datos;
this.tamanio = datos.length;
}
public void MostrarMatriz()
{
for ( int i = 0; i < tamanio; ++i )
{
for ( int j = 0; j < datos[i].length; ++j )
{
System.out.print( datos[i][j] );
}
System.out.println( "" );
}
}
}
Salu10.
si es verdad me apresure en postear :D
gracias nuevamente !