Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 方法参考文献_Java_Arrays_Methods - Fatal编程技术网

Java 方法参考文献

Java 方法参考文献,java,arrays,methods,Java,Arrays,Methods,我的任务是用两种方法和二维数组实现简单的java代码。 但有一个简单的错误我找不到。 这是电话线 getArray(nc) “nc”下划线为“可能尚未初始化” publicstaticvoidmain(字符串[]args){ int nc[][]; getArray(nc); 对于(int i=0;i 上面的一行只声明了一个变量nc,它是int数组的数组类型。但是它没有初始化任何数组。变量的值是null 因此,您需要创建一个数组: int[][] nc = new int[10][10]; 例

我的任务是用两种方法和二维数组实现简单的java代码。 但有一个简单的错误我找不到。 这是电话线

getArray(nc)

“nc”下划线为“可能尚未初始化”

publicstaticvoidmain(字符串[]args){
int nc[][];
getArray(nc);
对于(int i=0;i
上面的一行只声明了一个变量
nc
,它是int数组的数组类型。但是它没有初始化任何数组。变量的值是
null

因此,您需要创建一个数组:

int[][] nc = new int[10][10];
例如,它声明nc变量,并为该变量指定一个10x10的二维数组(用0填充)

public static void main (int nc[][])
这不会声明主方法,因为主方法必须将字符串数组作为唯一参数。并且此字符串数组包含执行程序时传递给程序的所有参数。例如:

java com.foo.bar.MyApp hello world

将调用类的main方法
com.foo.bar.MyApp
,其中的数组包含
“hello”
“world”
,在编写方法时,
getArray(int[][])
接收一个数组并填充它。但是,如果查看
main
方法的开头,就永远不会初始化它

您可以在
main
方法中执行此操作:

public static void main (String[] args) {
    int nc[][] = new int [10][10]; // Or any other size
    getArray(nc);
...
然而,这不像Java代码——它像C。在Java中,由于我们有垃圾收集,并且不需要担心返回在方法中分配的对象,您可以重写
getArray
来处理(并返回)分配:

public static void main (String[] args) {
    int nc[][] = getArray();
    /* The rest of your main method */
}

private static int[][] getArray() {
    int nc[][] = new int[10][10]; // Or any other size
    for (int i=0;i<nc[0].length;i++)
       {for(int k=0;k<nc.length;k++)
       {nc[k][i]=1+(int)(Math.random()*100);}}    }}
publicstaticvoidmain(字符串[]args){
int nc[][]=getArray();
/*剩下的主要方法*/
}
私有静态int[]getArray(){
int nc[][]=新int[10][10];//或任何其他大小

对于(int i=0;i“nc”下划线为“可能尚未初始化”,错误是否清楚?
int nc[]];
public static void main (String[] args) {
    int nc[][] = new int [10][10]; // Or any other size
    getArray(nc);
...
public static void main (String[] args) {
    int nc[][] = getArray();
    /* The rest of your main method */
}

private static int[][] getArray() {
    int nc[][] = new int[10][10]; // Or any other size
    for (int i=0;i<nc[0].length;i++)
       {for(int k=0;k<nc.length;k++)
       {nc[k][i]=1+(int)(Math.random()*100);}}    }}