Хорошо ... Итак, я немного застрял с упражнением для школы, и я действительно не могу понять, как его решить. Я думаю, что я пришел по-настоящему по сравнению с тем, где я начал, и надеюсь, вы, ребята, могли бы помочь мне.Соседи в 2D 4x4 Array
Окончательный смысл упражнения состоял бы в том, что код выводит всех соседей, доступных для каждой отдельной цифры в массиве. Я сделал средний четвертый, они отлично работают. Внешние цифры - это боль для меня, я не могу найти способ сделать код «уведомлением» о том, что больше цифр нет, например, над цифрой в верхнем левом углу.
Мне кажется, что я знаю, как это сделать: с помощью оператора if, который не позволяет что-то произойти, если значение индекса массива выше 3 или ниже 0. Потому что это двумерный массив 4x4, который означает, что для оси X и оси Y имеются индексы 0, 1, 2, 3.
Я надеюсь, что кто-то здесь хочет помочь мне. Он будет очень благодарен! Вот мой код на данный момент!
Заранее спасибо
public class P620 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
int[][] counts =
{
{ 1, 0, 3, 4},
{ 3, 5, 6, 4 },
{ 9, 7, 1, 4},
{ 1, 1, 1, 1}
};
for(int i = 0; i <= 3; i++) {
for(int j = 0; j <= 3; j++) {
System.out.println("Neighbours van de array: " + i + j + " met waarde: " + counts[i][j]);
if ((i < 4 && i > -1) && (j < 4 && j > -1)) {
System.out.println(counts[i - 1][j]);
}
else if ((i < 4 && i > -1) && (j < 4 && j > -1)) {
System.out.println(counts[i - 1][j - 1]);
}
else if ((i < 4 && i > -1) && (j < 4 && j > -1)) {
System.out.println(counts[i - 1][j + 1]);
}
else if ((i < 4 && i > -1) && (j < 4 && j > -1)) {
System.out.println(counts[i][j - 1]);
}
else if ((i < 4 && i > -1) && (j < 4 && j > -1)) {
System.out.println(counts[i + 1][j - 1]);
}
else if ((i < 4 && i > -1) && (j < 4 && j > -1)) {
System.out.println(counts[i + 1][j]);
}
else if ((i < 4 && i > -1) && (j < 4 && j > -1)) {
System.out.println(counts[i + 1][j + 1]);
}
else if ((i < 4 && i > -1) && (j < 4 && j > -1)) {
System.out.println(counts[i][j + 1]);
}
else {
}
}
}
}
}
Я думаю, что вы хотите что-то вроде этого: 'если ((я - 1> -1 && я + 1 <4) && (j - 1> -1 && j + 1 <4)) ' –
Ваш вопрос непонятен. Вам нужны прямые соседи или соседи по 2 квадратика? – user3437460
Соседи вокруг каждой цифры. – Wout