• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Please hava a look at this question about array !!!

 
Greenhorn
Posts: 21
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

ExamLab for sjcp 6.0 wrote:
A question from ExamLab for sjcp 6.0:
Which one is the valid statement?

A int[] it1 = new int[0]{};
B new int[2];
C int[] it2 = new int[][]{{1}}[0];
D int[][] it3 = new int[]{0}[0][0];
E int it5 = new int[2]{}[]



The answer is C.

Doesn't it covert from int[][][] to int[] ?
And about answer D, the explaination says it coverts from int[] to int[][]. Why doesn't it actually covert int[][][] to int[][] ?
 
Sheriff
Posts: 7134
1360
IntelliJ IDE jQuery Eclipse IDE Postgres Database Tomcat Server Chrome Google App Engine
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Please QuoteYourSources and please UseAMeaningfulSubjectLine
 
Ranch Hand
Posts: 317
Eclipse IDE
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
It does not convert int[] to int[][].

A 2 dimensional array is as array of arrays.



code is assigning a one dimensional array to one dimensional array. int[][]{{1}}[0] is creating a two dimensional array and initializing the first dimension only then the code is using the [0] operator to get the array at 0th location and array will be one dimension array. So it is legal to assign it to one dimension array.


int[][] it3 = new int[]{0}[0][0]; is not legal because [0][0] will give us the element at that location. That element will be of type int and we can not assign an int to an array.
 
Ranch Hand
Posts: 774
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
In case of

A- It is creating an anonymous array. You cannot specify the dimension when you create an anonymous array. So statement A is invalid.
C- It is creating a two dimensional anonymous array and it is assigning the first array that is the 0 one to the one dimension array which
is perfectly legal. Because 2-D arrays are array or arrays.
E- has the same problem an anonymous array can't have dimensions mentioned.

Later is very well explained by harpreet.

Hope this helps,
 
kevin saber
Greenhorn
Posts: 21
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Devaka Cooray wrote:Please QuoteYourSources and please UseAMeaningfulSubjectLine



Sorry for that
 
kevin saber
Greenhorn
Posts: 21
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Harpreet Singh janda wrote:It does not convert int[] to int[][].

A 2 dimensional array is as array of arrays.



code is assigning a one dimensional array to one dimensional array. int[][]{{1}}[0] is creating a two dimensional array and initializing the first dimension only then the code is using the [0] operator to get the array at 0th location and array will be one dimension array. So it is legal to assign it to one dimension array.


int[][] it3 = new int[]{0}[0][0]; is not legal because [0][0] will give us the element at that location. That element will be of type int and we can not assign an int to an array.



Thank you. I think i have caught it
 
kevin saber
Greenhorn
Posts: 21
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Prithvi Sehgal wrote:In case of

A- It is creating an anonymous array. You cannot specify the dimension when you create an anonymous array. So statement A is invalid.
C- It is creating a two dimensional anonymous array and it is assigning the first array that is the 0 one to the one dimension array which
is perfectly legal. Because 2-D arrays are array or arrays.
E- has the same problem an anonymous array can't have dimensions mentioned.

Later is very well explained by harpreet.

Hope this helps,



Oh~~I see it. Thank you
 
Devaka Cooray
Sheriff
Posts: 7134
1360
IntelliJ IDE jQuery Eclipse IDE Postgres Database Tomcat Server Chrome Google App Engine
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

kevin saber wrote:Sorry for that


NoNeedToSaySorry
But, please QuoteYourSources now - it's mandatory. Questions without a proper source, will be deleted.
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
reply
    Bookmark Topic Watch Topic
  • New Topic