Arrays multidimensionales en Java

java_base_web

Hola a todos, hoy os explicare como funcionan los arrays multidimensionales en Java.

Un array multimensional son mas de un array unidimensional unidos, para que te hagas una idea, es como si fuera una tabla. Se crea igual que un array unidimensional, solo hay que añadir un corchete mas con un tamaño en la definición del array. Veamos un ejemplo:

public class PruebaApp {

	public static void main(String[] args) {

		//Definimos un array de 3 filas x 5 columnas
		int array[][]=new int [3][5];

	}

}

Como vemos, añadimos un corchete mas después del nombre y del tamaño. El primer corchete son las filas y el segundo son las columnas.

Para asignar un valor, debemos indicar una posicion en las filas y columnas. Por ejemplo:

public class PruebaApp {

	public static void main(String[] args) {

		//Definimos un array de 3 filas x 5 columnas
		int array[][]=new int [3][5];

		//Asignamos un 5 al array, en la fila 0 columna 1
		array[0][1]=5;

	}

}

También existe una forma de realizar las dos anteriores acciones de una forma más rápida. Esta es su sintaxis:

tipo_dato nombre_array={{valor, valor, valor}, {valor, valor, valor}};

Como vemos por cada fila se abre una llave. Veamos como se hace:

public class PruebaApp {

	public static void main(String[] args) {

		//Definimos un array de 3 filas x 5 columnas
		int array[][]={{1,2,3,4,5}, {6,7,8,9,10}, {11,12,13,14,15}};

	}

}

Para recorrer un array, debemos usar un bucle anidado, donde el primer bucle controla las filas y el de dentro las columnas. Veamos un ejemplo:

public class PruebaApp {

	public static void main(String[] args) {

		//Definimos un array de 3 filas x 5 columnas
		int array[][]={{1,2,3,4,5}, {6,7,8,9,10}, {11,12,13,14,15}};

		//Recorremos el array multidimensional
		for (int i=0;i<array.length;i++){
			for(int j=0;j<array[0].length;j++){
				System.out.println(array[i][j]);
			}
		}
	}

}

Como vemos en el ejemplo anterior, vemos array.length, devuelve la longitud de las filas (3) y array[0].lenght devuelve la longitud de las columnas (5).

¿Podemos recorrer una sola fila o columna del array? Si podemos, para ello solo tenemos que usar un bucle, indicando que es lo que vamos a recorrer. Veamos un ejemplo:

public class PruebaApp {

	public static void main(String[] args) {

		//Definimos un array de 3 filas x 5 columnas
		int array[][]={{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15}};

		//Recorremos la primera columna de todas las filas
		for(int i=0;i<array.length;i++){
			System.out.println(array[i][0]);
		}

		//Recorremos todas las columnas de la segunda fila
		for(int i=0;i<array[0].length;i++){
			System.out.println(array[1][i]);
		}

	}

}

Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

Etiquetas

7 comments

  1. Muy interesante tu Blog! Saludos compañero de Traffic Club!

  2. Se aprende muchísimo con tu blog. Gracias!!! Traffic.club http://www.cocina-bienestar.com/

  3. Me Apoyas con esto: Con su Clase y con el BufferedReader o Scanner

    Desarrollar un programa que permita simular el juego de batalla naval (2 jugadores), para ello debe generar 2 matrices de 4 x 6, una matriz será asignada a cada jugador. Al iniciar el programa debe ocupar 3 celdas o casilleros de la matriz de cada jugador con valores de 3, simulando los barco de cada oponente, de forma aleatoria, seguidamente el jugador uno debe ingresar una coordenada entre las filas 1 a la 4 y las columnas 1 a la 6, si la coordenada coincide con algún valor de la coordenada de un barco el jugador obtiene un punto, luego es el turno del siguiente jugador, gana el jugador que obtiene los 3 puntos o acierta las coordenadas de los 3 barcos de su oponente.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *