My background is over 50 years of programming 3rd generation languages so much of what I code is colored by that experience. Now I am coding
java & many things I don't understand. Can someone help me to understand the following problem.
I need a 2-d array, array, of !0 rows by 4 columns. The members of the array are booleans & I need to be able to set array(row, column) to TRUE or FALSE
Case 1:
In Java define a 2-D array:
Next define an array of booleans and initialize 4 elements to false:
Finally set up 10 rows of 4 columns of booleans:
To set an element at (2,3) to true
But what happens is every row's column 3 is set to true;
In order to get the array set to work properly the construction of the rowOFBooleans must be put inside the 'for loop'.
Case 2:
My surmise is that in the first case Java doesn't store the values of rowOfBooleans in the twoDArray but rather stores a pointer to the ArrayList rowOfBooleans. Thus when ever an element is changed each row is pointing to the same rowOfBooleans.
In the second case each row is pointing to a different rowOfBooleans.
Can anyone help me understand what is happening?
Thank you.