ecco cosa mi succede su questo codice se faccio la ricorsione:
codice:
public void adiacenza(int x, int y){
boolean carattereSingolo = true;
for (int i = 0; i < l; i++){
for (int j = 0; j < h; j++){
if (campo[i][j] == campo[y][x] && (j == x && Math.abs(i - y) == 1 || i == y && Math.abs(j - x) == 1)){
campo[i][j] = '.';
carattereSingolo = false;}
adiacenza(j,i);
}
}
if (!carattereSingolo){
campo[y][x] = '.';
}
codice:
guest@localhost Desktop]$ java GrigliaTester
Exception in thread "main" java.lang.StackOverflowError
at java.lang.Math.abs(Math.java:713)
at Griglia.adiacenza(Griglia.java:65)
at Griglia.adiacenza(Griglia.java:70)
at Griglia.adiacenza(Griglia.java:70)
at Griglia.adiacenza(Griglia.java:70)
at Griglia.adiacenza(Griglia.java:70)
at Griglia.adiacenza(Griglia.java:70)
at Griglia.adiacenza(Griglia.java:70)
at Griglia.adiacenza(Griglia.java:70)
at Griglia.adiacenza(Griglia.java:70)
at Griglia.adiacenza(Griglia.java:70)
at Griglia.adiacenza(Griglia.java:70)