Matrices en JAVA
Matrices en JAVA
Otra estructura de datos que podemos utilizar en Java es una matriz. A diferencia de un array
de una dimensión, una matriz podríamos verla como dos (array ) arreglos, un arreglo maneja
los renglones y otro arreglo las columnas, y al juntarlos obtenemos una matriz.
Podemos recuperar el largo de los renglones con el código nombreArreglo.length y podemos
obtener el largo de las columnas escribiendo nombreArreglo[0].length, es decir, que con
cualquier renglón válido seleccionado podemos obtener el largo de las columnas. Esto nos va a
servir posteriormente para iterar por medio de un ciclo for anidado cada uno de los elementos
de la matriz.
De igual manera que un arreglo, no todos los elementos de una matriz deben contener
valores. Los valores que no tengan un valor asignado tendrán el valor por default según el tipo
de datos definido para la matriz. A continuación, veremos la sintaxis para declarar una matriz.
Declarar una matriz es igual a declarar variables, podemos declarar matrices que almacenen
tipos primitivos o que almacenen referencias a objetos.
Debido a que una matriz es una colección de datos , normalmente el nombre de una matriz es
en plural, para que fácilmente con solo leer el nombre de la variable reconozcamos que se
trata de una colección de datos.
Hasta el momento sólo vimos como declarar una variable de tipo matriz pero, la JVM no sabe
cuan largo y ancho es la matriz, para ello debemos inicializarlo, veamos como:
Por ello, es importante saber que, a diferencia de un vector, en una matriz utilizaremos dos
índices para determinar la posición de un elemento, y que los primeros índices tanto del
renglón como de la columna inician en cero. También es importante saber que cuando
indicamos una posición primero se indica el renglón y después la columna, siempre en ese
orden. Por ejemplo, el primer elemento de una matriz será el elemento [0][0]
Ejemplo:
Crear una matriz de n * m filas (cargar n y m por teclado) Imprimir la matriz completa y la
última fila.
1. import java.util.Scanner;
2. public class EjemploMat {
3. public static void main(String[] ar) {
4. private Scanner teclado=teclado=new Scanner(System.in);
5. private int[][] mat;
6. System.out.print("Cuantas filas tiene la matriz:");
7. int filas=teclado.nextInt();
8. System.out.print("Cuantas columnas tiene la matriz:");
9. int columnas=teclado.nextInt();
10. mat=new int[filas][columnas];
11. cargar(mat);
12. imprimir(mat);
13. imprimirUltimaFila(mat);
14. }
15. public void cargar(int[][] mat) {
16. for(int f=0;f<mat.length;f++) {
17. for(int c=0;c<mat[f].length;c++) {
18. System.out.print("Ingrese
19. componente:");
20. mat[f][c]=teclado.nextInt();
21. }
22. }
23. }
24. public void imprimir(int[][] mat) {
25. for(int f=0;f<mat.length;f++) {
26. for(int c=0;c<mat[f].length;c++) {
27. System.out.print(mat[f][c]+" ");
28. }
29. System.out.println();
30. }
31. }
32. public void imprimirUltimaFila(int[][] mat) {
33. System.out.println("Ultima fila");
34. for(int c=0;c<mat[mat.length-1].length;c++) {
35. System.out.print(mat[mat.length-1][c]+" ");
36. }
37. }
38.
39.
40. }