Вам нужно инициализировать массив вне вызова функции, а затем заполнить массив init
. Java является передачей по ссылке (i sh), что означает, что, хотя вы можете изменить содержимое передаваемого массива, и вызывающая сторона увидит эти изменения, вы не можете изменить место, на которое указывает переданная переменная. Это ограничение Java. Попробуйте что-то вроде этого:
public void init(int Arr[][]) {
for(int i=0;i<13;i++) {
for(int j=0;j<13;j++)
{
Arr[i][j]=0;
}
}
}
public void create() {
int Arr[][] = new int[13][13];
init(Arr);
}
Редактировать: Кстати, то, что вы пытаетесь сделать, является избыточным, Java автоматически инициализирует int
s равным 0, когда создаются массивы.