Un array en Java puede tener más de una dimensión. El caso más general son los arrays bidimensionales también llamados matrices o tablas. La dimensión de un array la determina el número de índices necesarios para acceder a sus elementos. Los vectores que hemos visto en otra entrada anterior son arrays unidimensionales porque solo utilizan un índice para acceder a cada elemento.
Una matriz necesita dos índices para acceder a sus elementos. Gráficamente podemos representar una matriz como una tabla de n filas y m columnas cuyos elementos son todos del mismo tipo.
La siguiente figura representa un array M de 3 filas y 5 columnas:
Para procesar ( recordar solo operaciones y comparaciones) internamente todos los elementos de la tabla se ocupan dos ciclos for(), uno externo para controlar renglón y uno interno para controlar columna.
Ejemplo de un Arreglo Bidimensional.
import javax.swing.JOptionPane; import javax.swing.JTextArea; public class Arreglo_Bidimensional { public static void main (String args[]) { int arreglo1[][]; int arreglo2[][]; int arreglo3[][]; int Nfilas, Mcolumnas; String entrada, entrada1, entrada2; JTextArea areaSalida = new JTextArea(); areaSalida.setText(" #########################\n"); areaSalida.append(" Arreglo Bidimensional\n"); areaSalida.append(" #########################\n\n"); entrada = JOptionPane.showInputDialog("Introduce el Numero de Filas para el Arreglo"); Nfilas = Integer.parseInt( entrada ); entrada1 = JOptionPane.showInputDialog("Introduce el Numero de Columnas para el Arreglo"); Mcolumnas = Integer.parseInt( entrada1 ); arreglo1 = new int[Nfilas][Mcolumnas]; arreglo2 = new int[Nfilas][Mcolumnas]; arreglo3 = new int[Nfilas][Mcolumnas]; areaSalida.append("Numero de filas son:\n " + Nfilas); areaSalida.append("\nNumero de columnas son:\n " + Mcolumnas + "\n"); int i, j; areaSalida.append("Arreglo 1: \n"); for(i = 0; i < Nfilas; i++) { for(j = 0; j < Mcolumnas; j++) { entrada2 = JOptionPane.showInputDialog("Introduzca el elemento de la fila " +(i)+ " y columna " +(j)+" del Arreglo1"); arreglo1[i][j] = Integer.parseInt( entrada2 ); areaSalida.append(" " + arreglo1[i][j] + " - "); } areaSalida.append(" \n"); } areaSalida.append("Arreglo 2 : \n"); for(i = 0; i < Nfilas; i++) { for(j = 0; j < Mcolumnas; j++) { entrada2 = JOptionPane.showInputDialog("Introduzca el elemento de la fila " +(i)+ " y columna " +(j)+" del Arreglo2"); arreglo2[i][j] = Integer.parseInt( entrada2 ); areaSalida.append(" " + arreglo2[i][j] + " - "); } areaSalida.append("\n"); } areaSalida.append("La suma del Arreglo 1 + Arreglo 2 = Arreglo 3 \n"); for(i = 0; i < Nfilas; i++) { for(j = 0; j < Mcolumnas; j++) { arreglo3[i][j] = arreglo1[i][j] + arreglo2[i][j]; areaSalida.append(" " + arreglo1[i][j] + " + " + arreglo2[i][j] + " = " + arreglo3[i][j] + "\n"); } areaSalida.append("\n"); } JOptionPane.showMessageDialog(null, areaSalida); } }Output:
ME HAN AYUDADO!!
ResponderEliminar