S. *_*pta -1 java arrays nullpointerexception
我已经为abc类创建了一个对象数组,但只要我调用accept()从用户那里获取数据的代码,它就会给出一个空指针异常.
这是代码:
class abc{
int rollno,i;
String name;
public void accept(){
Scanner sc=new Scanner(System.in);
System.out.print("Enter roll no: ");
rollno=sc.nextInt();
}
public void display(){
System.out.println("Roll no: "+rollno);
}
public static void main(String[] gs){
int i;
abc a[]=new abc[10];
for(i=0;i<10;i++){
a[i].accept(); //This line gives null pointer exception
}
for(i=0;i<10;i++){
a[i].display();
}
}
Run Code Online (Sandbox Code Playgroud)
谁能说出问题是什么?
因为a[i]是null.默认情况下不会初始化.您正在创建一个包含abc10个元素的引用类型的数组.数组中的所有元素都将是null引用abc.在调用任何方法之前,您需要为每个引用分配一个具体的类型对象.
您需要在调用任何方法之前实例化对象:
for(i=0;i<10;i++)
{
a[i] = new abc(); // instantiate it
a[i].accept();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
475 次 |
| 最近记录: |