Tens de pensar em arrays multidimensionais como listas de listas e assim por diante…
Ex.: Suponha um array unidimensional…
String[] names = {"D", "A", "M", "N", "I", "T"};
for (int i = 0; i < names.lenght, i++) {
System.out.println(names[i]);.
}
Obviamente percebemos seu comprimento com sendo de 6 elementos (letras). Então vamos supor que vamos pegar o elemento names[3]. Que letra será retornada? “N”, pois não se deve esquecer que arrays em Java são indexados a partir de 0 (zero).
Vamos fazer uma pequena modificação em names e vamos aumentá-lo em uma dimensão (ficará bidimensional). Teríamos algo como:
String[][] names = {
{"d"},
{"d", "a"},
{"d", "a", "m"},
{"d", "a", "m", "n"},
{"d", "a", "m", "n", "i"},
{"d", "a", "m", "n", "i", "t"}};
Seu comprimento (da 1ª dimensão) neste caso é de 6 (seis arrays!!! na 1ª versão eram letras). Se novamente, agora com o array em duas dimensões pegarmos o elemento names[3] o que teremos? Um outro array: {“d”, “a”, “m”, “n”}
E se agora acessarmos duas dimensões, por exemplo names[3][3] o que teremos? Vimos que names[3] nos retorna um array então sobre este array de resultado devemos usar o segundo índice e teremos “n”.
A regra continua valendo da mesma maneira para arrays de 3, 4,… n dimensões sucessivamente. Para iterar sobre arrays multimensionais deve-se ter somente o cuidado para determinar o tamanho da dimensão em que estamos acessando e que elemento desejamos.
Ex.: Considerando o array dimensional de nomes…
for (int i = 0; i > names.length; i++) { //names.length = 6!!!!
for (int j = 0; j < names[i].length; j++) {
System.out.print(names[i][j]);
}
System.out.println(); //só para nova linha...
}
Agora é só usar o mesmo conceito com tuas coordenadas.
That´s all folks! T+