Page 1 of 1

Array

Posted: Tue Feb 13, 2018 10:09 am
by ashishrai.kv
Q:-
public static void main(String[] args){
int i=4;
int ia[][][] = new int[0];
System.out.println( ia.length + ", " );
System.out.println( ia[0].length);
System.out.println( ia[0][0].length);
}
}

answer is :-
4,
0
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at Mock.main(Mock.java:9)

why not 4,0,4

Re: Array

Posted: Tue Feb 13, 2018 12:22 pm
by admin
Why do you think it should be 4 0 4?

Re: Array

Posted: Tue Feb 13, 2018 1:12 pm
by ashishrai.kv
because value of i=4
and its ia,ia[0],ia
so its 4,0,4

as when i tried ia,ia,ia[o]

i got- 4,4,0.

Re: Array

Posted: Tue Feb 13, 2018 9:55 pm
by admin
You are creating a three dimensional array. The size of the first dimension is 4. So ia refers to an array of length 4. Thus, System.out.println( ia.length + ", " ); prints 4.

Each element of this array itself points to a two dimensional array. But you have given the size of each of these two dimensional arrays as 0. i.e. ia[0] basically points to a two dimensional array of length zero. Therefore, System.out.println( ia[0].length); prints 0.

Now, when you try to access ia[0][0], what do you expect ? Is there a 0th element in ia[0]?

Re: Array

Posted: Wed Feb 14, 2018 3:57 am
by ashishrai.kv
I guess ia[0][0] will have have a 0 element as ia[0] doesn't have any other element.

but i am still confused why ArrayIndexOutOfBoundsException was thrown?

Re: Array

Posted: Wed Feb 14, 2018 5:52 am
by admin
1. What is the index of the first element in an array?
2. Have you read the JavaDoc API description of ArrayIndexOutOfBoundsException ? That will tell you why is it thrown.

Re: Array

Posted: Wed Feb 14, 2018 7:48 am
by ashishrai.kv
zero.

sure will look into . :D :D

Re: Array

Posted: Wed Feb 14, 2018 8:25 am
by admin
ashishrai.kv wrote:zero.
Good, so what will arrayRef[0] point to if the size of an array is zero?

Re: Array

Posted: Wed Feb 14, 2018 8:46 am
by ashishrai.kv
nothing, as the arrayref size is 0 so it will show the ArrayIndexOutOfBound error, if i am not wrong

Re: Array

Posted: Wed Feb 14, 2018 8:58 am
by admin
Well, there is your answer then :D

Re: Array

Posted: Wed Feb 14, 2018 9:25 am
by ashishrai.kv
thanks :)