View mode: basic / threaded / horizontal-split · Log in · Help
October 01, 2005
Rectangular Array Initialization
I've searched the archive and couldn't see a working solution for how to 
initialize a rectangular/multi-dimensional array. I get an ArrayBoundsError 
when attempting to access it.

Here's my code:

   float[][] matrix = new float[][5];
   for (int i = 0; i < 5; i++) {
       matrix[i].length = 5;
   }
   matrix[0][0] = 1f;
   matrix[1][1] = 1f; // ArrayBoundsError here

However, if I change my code as follow, it works.

   matrix[0][0] = 1f;
   matrix[1].length = 5;
   matrix[1][1] = 1f;

Haven't I already set the length of the array in my for loop earlier? What's 
going on?

Thanks.
October 01, 2005
Re: Rectangular Array Initialization
"John C" <johnch_atms@hotmail.com> wrote in message 
news:dhlsu7$652$1@digitaldaemon.com...
> I've searched the archive and couldn't see a working solution for how to 
> initialize a rectangular/multi-dimensional array. I get an 
> ArrayBoundsError when attempting to access it.
>
> Here's my code:
>
>    float[][] matrix = new float[][5];
>    for (int i = 0; i < 5; i++) {
>        matrix[i].length = 5;
>    }
>    matrix[0][0] = 1f;
>    matrix[1][1] = 1f; // ArrayBoundsError here
>
> However, if I change my code as follow, it works.
>
>    matrix[0][0] = 1f;
>    matrix[1].length = 5;
>    matrix[1][1] = 1f;
>
> Haven't I already set the length of the array in my for loop earlier? 
> What's going on?
>
> Thanks.

Ok, ignore this. It was a typo in my code.
Top | Discussion index | About this forum | D home