[英]Don't work @Autowired annotation Exception in thread “main” java.lang.NullPointerException
[英]Exception in thread “main” java.lang.NullPointerException - don't understand why?
我仍然是Java的初学者,目前正在编写一个学生记录程序,并且陷入了这些错误,无法找出原因。
Exception in thread "main" java.lang.NullPointerException
at Results.Results(Results.java:11)
at Main.main(Main.java:21)
这是我的主类错误所在的位置,在第21行(下面的第二行)。
public class Main
{
public static void main(String[] args)
{
StudentNames nameInputobject = new StudentNames();
nameInputobject.StudentNames();
Subject subjectInputobject = new Subject();
subjectInputobject.Subject();
StudentNumber numberInputobject = new StudentNumber();
numberInputobject.StudentNumber();
StudentYear yearInputobject = new StudentYear();
yearInputobject.StudentYear();
Results resultsInputobject = new Results();
resultsInputobject.Results(); // <<<error here
}
}
和我的结果类中的错误
import java.util.ArrayList;
import java.util.Scanner;
public class Results
{
public static void Results()
{
StudentYear obj=new StudentYear();
ArrayList<Integer> studentYear=obj.getStudentYear();
int year=studentYear.get(0); // <<<<error here
ArrayList<Integer> results = new ArrayList<Integer>();
Scanner sc = new Scanner(System.in);
System.out.println("Please enter the results for "+year+":");
results.add(sc.nextInt());
System.out.println(results);
}
}
结果类从另一个类代码中的数组列表获取studentYear值。
import java.util.ArrayList;
import java.util.Scanner;
public class StudentYear
{
private ArrayList<Integer> studentYear;
public void StudentYear()
{
studentYear = new ArrayList<Integer>();
Scanner sc = new Scanner(System.in);
System.out.println("Please enter the year the student has most recently completed: ");
studentYear.add(sc.nextInt());
System.out.println(studentYear);
}
public ArrayList<Integer> getStudentYear()
{
return studentYear;
}
}
我正在使用Arraylists,因为我计划最终使程序循环以容纳多个学生值
请注意, studentYear
变量是ArrayList<Integer>
的实例。 这意味着它是对象Integer
的集合。 这是围绕原始数据类型int
的“盒装”包装。
Integer
对象可以为null,但int
不能为null。
如果您尚未向此ArrayList添加任何内容,则零位置的元素将为null。 当VM尝试将此Integer
null
实例转换为原始int
它将引发NullPointerException
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.