Java - Me pueden dar una explicacion sobre este codigo

 
Vista:

Me pueden dar una explicacion sobre este codigo

Publicado por Nicole (1 intervención) el 21/03/2011 01:54:08
No entiendo realmente que se le asigna al arreglo o matriz, no sé que sera el String arr ( y que cosa supuestamente deberia mostrar al momento de ejecutarlo, lo otro sé que al ejecutarlo da ArrayIndexOutOfBoundsException, me podrian explicar el motivo de ese error y como se solucionaria.
Les cuento que estoy estudiando java con unas guias de certificacion y sale ese ejercicio que no entendi
Muchas gracias

public class Practica {

public static void main(String[] args)
{
String [][][] arr = {
{ {}, null },
{ {"1","2"}, {"1", null, "3"}},
{},
{ {"1", null}}
};
System.out.println(arr.length + arr[1][2].length);

}

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Me pueden dar una explicacion sobre este codigo

Publicado por Camilo Andrés (62 intervenciones) el 22/03/2011 22:37:50
Hola Nicole

pues la verdad no se si lo entendí bien, lo que hice fue hacer unas pequeñas modificaciones para entenderlo mejor
en el system out print quite la suma para ver en que posición asignaba los valores, y los valores los cambie de tal forma que no se repitieran para saber en cual había sido asignado, al hacerlo obtuve lo siguiente

posición valor

100 1
101 2
110 3
111 null
112 4
300 5
301 null

public class Main {

public static void main(String[] args) {
String [][][] arr = {{ {}, null },{ {"1","2"}, {"3", null, "4"}},{},{ {"5", null}}};
System.out.println(arr.length +"gg"+ arr[1][0][0]);
}
}

el error que mencionas sale porque el indice no existe en un arreglo, y cuando se declara la variable a la posición 2 está {} por lo cual sale error, si se le asignan valores a esos campos ya no saldría error, no se porque se hacen las asignaciones así pero pues debe haber una razón en las guías que tienes, como te digo así lo entendí espero que te sirva de algo.........
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar