Изменяет ли staiti c Global Variable Java значение там, когда оно используется в функции без возврата? - PullRequest
0 голосов
/ 10 февраля 2020
private static char[][] grid= new char[10][10];

private static void setHorizontal(String[] words, int i, int r, int c, boolean[] cross) {
    for (int j = c; j < (c+words[i].length()); j++) {
        if (grid[r][j] != '-'){
            cross[j-c]= false;
        }
        grid[r][j] = words[i].charAt(j-c);
    }
}

Изменится ли значение сетки в программе или нет ??

1 Ответ

0 голосов
/ 10 февраля 2020

grid[r][j] = words[i].charAt(j-c); изменил значения внутри массива grid, тот факт, что метод setHorizontal является void, не имеет значения ; и ответ на ваш вопрос да и нет . Ссылка на grid, по-видимому, не изменяется (но другой метод может изменить ее, поскольку это не final), и значения, содержащиеся в массивах grid, безусловно, изменяются при вызове setHorizontal.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...