package text;
import java.util.Scanner;
public class StudentSystem
{
public static void main(String[] args)
{
int x;
student a=new student();
System.out.println("请输入要输入数据的人数");
Scanner p = new Scanner(System.in);
x=p.nextInt();
a.AddDate(x);
/*System.out.println("1.查看数据"+'\n'+"2.修改数据"+'\n'+"3.退出");*/
}
}
class student{
String name;
int id;
double java;
double network;
double English;
double math;
public void AddDate(int x) //x表示输入数据的人数
{
student [] arr=new student[x+1]; //为了i一开始输出变成1
for(int i=1;i<arr.length;i++)
{
System.out.println("第"+i+"个人的数据 姓名 学号 java 网络 英语 数学");
Scanner sc = new Scanner(System.in);
arr[i].name=sc.nextLine();
arr[i].id = sc.nextInt();
arr[i].java = sc.nextDouble();
arr[i].network = sc.nextDouble();
arr[i].English = sc.nextDouble();
arr[i].math = sc.nextDouble();
}
}
public void check()
{
}
public void exit() {
System.out.println("-------已退出--------");
}
}
有大佬可以告诉我一下为什么会这样吗?我实在是不知道为什么会这样
arr 里的元素都是null,所以执行arr[i].name
的时候报空指针异常了。
嗯嗯,我早上起来百度到了加个arr[i]=new student();就好了。我还以为sudent arr=new student[x];会给地址。。