import java.util.Scanner;
class student{
public String name;
public int score;
public static double average(student[] students){
double sum=0;
for(int i=0;i<students.length;i++){
sum+=students[i].score;
}
return sum/students.length;
};
}public class learn{
public static void main(String[]args){
Scanner scan=new Scanner(System.in);
int number=0;
number=scan.nextInt();
student[] students=new student[number];
//Scanner scan2=new Scanner(System.in);
for(int i=0;i<students.length;i++){
System.out.printf("Name: ");
students[i].name=scan.next();
System.out.printf("score: ");
students[i].score=scan.nextInt();
}
for(int j=0;j<number;j++){
System.out.printf("%d ",students[j]);
}
}
};这段代码运行后我只能输入第一个数,然后再次输入就报错了
3
Name: tom
Exception in thread "main" java.lang.NullPointerException
at learn.main(learn.java:25)
class student{
public String name;
public int score;
public static double average(student[] students){
double sum=0;
for(int i=0;i<students.length;i++){
sum+=students[i].score;
}
return sum/students.length;
};
}public class learn{
public static void main(String[]args){
Scanner scan=new Scanner(System.in);
int number=0;
number=scan.nextInt();
student[] students=new student[number];
//Scanner scan2=new Scanner(System.in);
for(int i=0;i<students.length;i++){
System.out.printf("Name: ");
students[i].name=scan.next();
System.out.printf("score: ");
students[i].score=scan.nextInt();
}
for(int j=0;j<number;j++){
System.out.printf("%d ",students[j]);
}
}
};这段代码运行后我只能输入第一个数,然后再次输入就报错了
3
Name: tom
Exception in thread "main" java.lang.NullPointerException
at learn.main(learn.java:25)
{
@Override
public String toString()
{
return "student []";
} public String name;
public int score;
public void setName(String a)
{
name = a;
} public static double average(student[] students)
{
double sum = 0;
for (int i = 0; i < students.length; i++)
{
sum += students[i].score;
}
return sum / students.length;
};
}public class learn
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
int number = 0;
number = scan.nextInt();
student[] students = new student[number];
for(int m = 0;m<students.length;m++)//需要初始化对象
students[m] =new student();
students[0].name = "afjkdlasf";
for (int i = 0; i < students.length; i++)
{
System.out.printf("Name: ");
students[i].setName(scan.next());
System.out.printf("score: ");
students[i].score = scan.nextInt(); }
for (int j = 0; j < number; j++)
{
System.out.printf("%d ", students[j]);
}
}
};