我有一个方法“init”,它必须初始化数组。
public void init(int Arr[][]) {
int Arr=new int[13][13];
for(int i=0;i<13;i++) {
for(int j=0;j<13;j++)
{
Arr[i][j]=0;
}
}
}
然后有一个方法“create”,它必须使用初始化的数组(通过 init)
public void create() {
//here i must call the init(int A[][]) ,for having A initialized,but it's not working
}
如何从create调用init方法?谢谢
最佳答案
您需要在函数调用之外初始化数组,然后使用 init
填充该数组。 Java 是按引用传递的,这意味着虽然您可以更改传入的数组的内容并且调用者将看到这些更改,但您无法更改传递的变量指向的位置。这是 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
初始化为 0。
关于java - java中通过方法初始化2dim数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59977594/