Supongamos que tenemos una matriz 8 * 8. Cada celda tiene 0 o 1. Se le dará una ubicación y deberá encontrar todas las que se encuentran en la misma isla. ¿Los puntos se encuentran en la misma isla si un punto está en alguna de las celdas adyacentes?

No estoy seguro si esto funciona o no. Pero creo que esto quizás sea la solución correcta.

package matrikssolver; import java.util.ArrayList; import java.util.Random; public class CariTetangga { Random r = new Random(); int[][] position; int width = 8, height = 8; public CariTetangga() { position = new int[width][height]; for (int i = 0; i < position.length; i++) for (int j = 0; j < position[0].length; j++) position[i][j] = r.nextInt(2); } public int[][] getMatrix(){return position; } public static void main(String[] args) { CariTetangga cariTetangga = new CariTetangga(); cariTetangga.searchNeighbor(2,3); } static int total = 0; ArrayList list = new ArrayList(); public int getTotal(){return total; } public void searchNeighbor(int x, int y) { if(position[x][y] == 0) return; for (int i = -1; i < 2; i++) { for (int j = -1; j < 2; j++) { int nx = x + i; int ny = y + j; if (nx  -1 && ny  -1) { if (position[nx][ny] != 0) { Integer aa[] = {nx, ny}; if (!list.contains(aa)) { list.add(aa); total++; searchNeighbor(nx, ny); } } } } } } }