java数组调用问题

2025-02-26 15:20:21
推荐回答(4个)
回答1:

建议你去看一看局部变量和全局变量的作用域,
你就可以发现
public static void Inita(){
int a[]=new int[3];
a[0]=1;
a[1]=2;
a[2]=3;
}
这里面的数组a是局部变量,和上面的static的a并非同一个数组,也就是说,你的static数组并没有初始化。理所当然出现空指针异常。

回答2:

你这是必然的啊,main函数里面打印出来的是静态数组里面的,但是你的inita方法里面创建的数组a却不是在操作静态数组a,你重新新建了局部变量

回答3:

看代码吧, 重复定义数组造成

public static int a[];

public static void Inita(){
int a[]=new int[3];//这行前面的int删除

回答4:

public class Ts{
public static int a[];
public static void Inita(){
a=new int[3];
a[0]=1;
a[1]=2;
a[2]=3;
}

public static void main(String args[]){
Inita();
System.out.println(a[2]);
}
}