Java 方法参考文献
我的任务是用两种方法和二维数组实现简单的java代码。 但有一个简单的错误我找不到。 这是电话线 getArray(nc) “nc”下划线为“可能尚未初始化”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]; 例
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);}} }}