This week's book giveaway is in the Other Languages forum.We're giving away four copies of Functional Reactive Programming and have Stephen Blackheath and Anthony Jones on-line!See this thread for details.
Win a copy of Functional Reactive Programming this week in the Other Languages forum!

# How to print the last value of 2d array

Tony Smith
Ranch Hand
Posts: 229
Assuming you don't know the size of the arrays, is there a way to use .length or .size to get the final value of the 2d array? If no loop allowed either. I was just a little curious.

Greg Charles
Sheriff
Posts: 2993
12
A 2d array in Java (and many other languages) is just an array of 1d arrays. If you think of it as rows and columns, then each row may have the same number of columns, but that's not necessarily true. You get the number of rows by a.length and the number of columns in the second row, for example, as a[1].length. That should be enough for you to finish your assignment.

Tony Smith
Ranch Hand
Posts: 229
Yes, the original thing I got stuck in my mind was that I forgot each row has same number of columns. a[1].length == a[2].length so this will work

System.out.println(array[array.length-1][array[0].length-1]);

As picking any row will yield same amount of columns for traditional array. But you also mentioned that each row may have different columns. While I am not quite familiar with that but I think I have heard of it before. I am not sure how to initialize array like that. But I came up with the following code, it might be able to still generate the last value of the 2d array when each row may have different numbers of columns and also if the numbers of columns was not given. I guess this is what I was looking for when I first asked the question.

System.out.println(array[array.length-1][array[array.length-1].length-1]);

Greg Charles
Sheriff
Posts: 2993
12
Yep, that looks right to me. Good work!