-->

lunes, 19 de septiembre de 2016

(JAVA) Inicialización de arrays multidimensionales

La inicialización se hace encerrando entre llaves la lista de constantes, separadas por comas, que forma cada fila, como en los ejemplos siguientes:

.   int tabla1[ ][ ] = { {51, 52, 53},{54, 55, 56} };

     Define una matriz de 2 filas por 3 columnas cada una.

     O bien con este formato más amigable:

     int tabla1[ ][ ] = {  {51, 52, 53},
                                    {54, 55, 56} };
2.  int tabla2[ ][ ] = {
                                  {1, 2, 3, 4},
                                  {5, 6, 7, 8},
                                  {9, 10, 11, 12}
                                };

                                                                 Tablas de dos dimensiones

EJEMPLOS
Declaración y creación de arrays bidimensionales de distinto número de elementos por fila.

1.   double tb[ ][ ] = { {1.5, -2.5}, {5.0, -0.0, 1.5} };
     Se ha definido una matriz de 2 filas, la primera con dos columnas y la segunda con 3.

2.    int[ ] a = {1,3,5};
     int[ ] b = {2,4,6,8,10};
     int mtb[ ][ ] = {a, b};

     Se ha definido el array a de 3 elementos, el b de 4 elementos y la matriz mtb de 2 filas, la primera con 3 elementos o columnas y la segunda con 5.

Java permite crear matrices de distintas formas.


NOTA:

En  un  array  bidimensional  tabla,  al  ser  un  array  de  arrays,  el  atributo  length  de tabla contiene el número de filas. El atributo length de cada array fila contiene el número de columnas.

  float ventas[ ][ ] = {
                                      {0.,0.,0.},        // 3 elementos
                                      {1.0.,1.0},       // 2 elementos
                                      {-1.0}              // 1 elemento
                                 };

  System.out.print(ventas.length);         // escribe 3
  System.out.print(ventas[0].length);    // escribe 3
  System.out.print(ventas[1].length);    // escribe 2
  System.out.print(ventas[2].length);    // escribe 1

Precaución
En la definición de un array bidimensional no es posible omitir el número de filas. Así, la declaración: 

double vt[ ][ ] = new double[ ][4]; 

es errónea ya que no se ha especificado el número de filas, y el tamaño queda indeterminado.


No hay comentarios:

Publicar un comentario