2017-08-15 82 views
-1

我声明的变量和初始化,但我仍然得到这个错误Java的Eclipse的NullPointerException异常

代码:

//Main 

import java.util.Random; 
import java.util.Scanner; 

public class Main { 


public static void main(String[] args) 
{ 

// Scanner input=new Scanner(System.in); 
// Random rnd=new Random(); 
    StuInfo(); 

} 
public static void StuInfo() 
{ 
    Scanner io=new Scanner(System.in); 
    Random rnd=new Random();  
    System.out.println("How many students are there?"); 
    student[] stu = new student[io.nextInt()]; 
    for (int i = 0; i < stu.length; i++) 
    { 
     stu[i].age = 5; 

    } 
} 
} 

//Student 
public class student { 
    int age; 
    double[] grade; 
    String name; 

} 

输入:

错误:

exception in thread "main" java.lang.NullPointerException

at Main.StuInfo(Main.java:39)

at Main.main(Main.java:12)

+2

'stu [i]'为'null'。 – luk2302

+0

你需要在你的游戏中工作 –

+0

stu [i]并不意味着它是空的,它意味着5 ....解释请吗? – Newb69420

回答

3

当你创建一个对象数组时,你的数组填充空值。所以首先在for循环中你应该定义stu [i] = new Student();那么你可以写stu [i] .age = 5;