Imprimir una matriz con Java

28/Dic/2012 Java , , , , 8 Comentarios

En uno de los comentarios al artículo que explica cómo Cargar una matriz por teclado en Java nos preguntaban sobre cómo podíamos imprimir una matriz con Java.

Y es que en el artículo sobre Cargar una matriz por teclado en Java lo que hacíamos era mostrar la matriz por posiciones. Ahora la idea es imprimirla de una forma más matemática. Algo parecido a:

Así que vamos con la tarea de imprimir una matriz con Java. Lo primero será cargar la matriz. No nos vamos a complicar mucho y lo que vamos a hacer es cargarla directamente.

  1. int matriz[][] = new int[3][3];
  2. matriz[0][0] = 2;
  3. matriz[0][1] = 4;
  4. matriz[0][2] = 4;
  5. matriz[1][0] = 6;
  6. matriz[1][1] = 6;
  7. matriz[1][2] = 9;
  8. matriz[2][0] = 8;
  9. matriz[2][1] = 10;
  10. matriz[2][2] = 1;

Recuerda que las matrices en Java son arrays bidimensionales. Es por ello que la definición tienen dos dimensiones.

Ahora pasaremos a imprimirla. Para ello utilizamos dos estructuras for anidadas. La primera irá incrementando las filas, es decir, el valor de la X y la segunda incrementará por cada fila el valor de las columnas, es decir, la Y.

  1. for (int x=0; x < matriz.length; x++) {
  2. for (int y=0; y < matriz[x].length; y++) { ... }
  3. }

Vemos que los bucles for van desde la posición 0 hasta el tamaño que tenga la matriz Java. En el caso de las filas será el tamaño general

  1. matriz.length;

Y en el caso de cada fila fijamos la dimensión x.

  1. matriz[x].length;

Ahora, por cada fila vamos a imprimir los elementos, pero sin salto de línea. Es decir utilizando un System.out.print:

  1. for (int y=0; y < matriz[x].length; y++) {
  2. System.out.print (matriz[x][y]);
  3. if (y!=matriz[x].length-1) System.out.print("\t");
  4. }

Además hemos añadido, una tabulación, es decir, una separación entre cada posición. La tabulación la aplicaremos detrás de cada número, excepto del último. Es por ello que hacemos la validación:

  1. if (y!=matriz[x].length-1) System.out.print("\t");

Recuerda que las tabulaciones se consiguen mediante el carácter escapado \t

Una vez impresa cada fila, ahora es cuando hay que dar un salto de línea mediante un System.out.println

  1. for (int x=0; x < matriz.length; x++) {
  2. for (int y=0; y < matriz[x].length; y++) {
  3. System.out.print (matriz[x][y]);
  4. if (y!=matriz[x].length-1) System.out.print("\t");
  5. }
  6. }

Ya solo nos quedará meter algún decorador adicional, al gusto, y el código final Java que nos imprimirá la matriz quedará de la siguiente forma:

  1. for (int x=0; x < matriz.length; x++) {
  2. System.out.print("|");
  3. for (int y=0; y < matriz[x].length; y++) {
  4. System.out.print (matriz[x][y]);
  5. if (y!=matriz[x].length-1) System.out.print("\t");
  6. }
  7. System.out.println("|");
  8. }

Vídeos sobre Java


Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

8 comentarios en “Imprimir una matriz con Java”

Víctor Cuervo

francisco Chavez

Alguien sabe como hacer esto mismo pero con jtextfield y botones?

Víctor Cuervo

Allan

Estimados como puedo imprimir títulos en las filas y columnas de una matriz en java.

Gracias por su ayuda.

Víctor Cuervo

ruben

hola necesito ayuda con un programa:
es de java y me pide crear una clase en la cual el metodo datos cree un ciclo de meses y resiba la produccion de cada uno ejemplo
1 20
2 15
3 19
.
.
.
.
12 58

y despues entyre estos datos cuando yo le pida que me arroje el menor y mayor

Víctor Cuervo

Matriz negativa con Java - Línea de Código

[…] recorreremos la matriz igual que hacíamos en los ejemplos de imprimir una matriz o sumar matrices… y muchos […]

Víctor Cuervo

Alberto

Hola que tal amigo necesito de tu ayuda he buscado en varios blgs pero no he encontrado uno chido como este amm… estoy haciendo el metodo russell en java no se si conoces el metodo es de investigacion de operaciones.
Hice la matriz en donde el usuario ingresa las filas y columnas pero no se como hacer las operaciones que siguen.
1.-Debe de sacar el dato mayor de la fila (+)
2.-Tambien el dato mayor de la columna (+)
3.-debe sacar el dato del indice en donde se intersecta la fila y la columna (-)
despues suma los 2 primeros y al resultado de eso le resta el tercero por eso les puse el signo de (+) a los que se suman y mnos(-) al que se debe restar
si quieres el codigo te lo envio para que veas que falta..
Gracias

Víctor Cuervo

Osvaldo

Es bien sencillo, yo lo puedo resolver, aunque creo que este post es de hace algún tiempo jeje

Víctor Cuervo

Víctor Cuervo

@Andres, Me alegro mucho que te haya servido. 😀

Víctor Cuervo

Andres

Muchas gracias, me sirvió mucho

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*