java - 通过方法在java中初始化2dim数组
问题描述
我有一个必须初始化数组的方法“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 是按引用传递(ish),这意味着虽然您可以更改传入数组的内容并且调用者将看到这些更改,但您无法更改传递的变量指向的位置。这是 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。
推荐阅读
- json - 使用 MongoDB shell 插入后,在哪里可以找到 MongoDB/data/db 中 Documents(of the Collections) 的脚本文件?
- ftp - 在通过 FTP 推送代码时遇到 jenkins 的问题
- c++ - 如何为 const 和非 const 容器版本的迭代器定义类型
- google-apps-script - 如何从 Apps Scripts 中的文件 url 获取文件名
- log4j - log4j2 实现文件夹文件所有者和权限
- html - 字体真棒图标上出现意外的白色背景
- rsocket - 是否可以使用 RSockets 进行广播?
- java - 如何为每个套件创建单独的 testng-failed.xml 而不会覆盖?
- python - numpy索引到4维数组
- ios - CocoaPods 找不到 pod“CordovaPlugins”的兼容版本