class student{
public
char code; /* 学号*/
char name; /* 姓名*/
int age; /* 年龄*/
char sex; /* 性别*/
float score[]= new float[3];
}
public class lianxi {
public static lianxi student1;
public static int n = 0;
public static int m = 0;
public static student[] b = new student[10];
{for(int i=0;i<10;i++)
b[i]=new student();
}
public static void main (String args[]){
int j=n,zhongjian1;
Scanner sc=new Scanner(System.in);
System.out.println("请输入待增加的学生数:\n");
m = sc.nextInt();
do
{ for (int i = 0 ; i < b.length;i++)
b[i] = new student();
System.out.println("请输入第"+(j-n+1)+" 个学生的年龄:\n");
b[j].age = sc.nextInt();
j++;
}while(j<n+m);
n+=m;
System.out.println("信息增加完毕!\n\n");
// sort();
System.out.println("按回车返回主菜单\n");
student1.qq(); //////////////第63行
}
public void qq()
{ System.out.println("...............");
System.out.println(b[0].age);
}
}
为什么运行后会显示
Exception in thread "main" java.lang.NullPointerException
at lianxi.main(lianxi.java:63)
我的想法是定义一个b【】对象
比如先输入b【0】.age 之后用另一个函数输出b[0].age
必须要用另一个函数输出b[0].age
刚刚开始学java 以前学C的~~
------解决方案--------------------
student1.qq();中的student1哪来的,根本没有啊
------解决方案--------------------
看错了,b[0].age,age属性又不是static的,建议把student写成标准的bean形式,有set和get方法的
------解决方案--------------------
student1未初始化诶。。。
类成员变量默认初始化是null的。。
最好在main里初始化lianxi.student1 = new lianxi();
虽然没太看明白逻辑。。。但Exception in thread "main" java.lang.NullPointerException
表示在main函数中访问到了空引用
------解决方案--------------------
帮顶