修复Java中的空指针异常

时间:2014-06-01 11:51:45

标签: java nullpointerexception

我正在学习BufferedReaders和其他一些类,我正在制作一个小程序,它带有一个文本文件,其中包含我所学过的课程的信息并计算我的GPA。这是我到目前为止所做的:

import java.util.ArrayList;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

class GradeFormatter {

    public static ArrayList<String[]> courses;
    public static double unitsAttempted;
    public static double unitsPassed;
    public static double gradePoints;
    public static double gpa;

    public static void main(String[] args) {
        try {
            FileReader fileReader = new FileReader("grades.txt");
            BufferedReader reader = new BufferedReader(fileReader);
            while (true) {
                String line = reader.readLine();
                if (line == null) {
                    break;
                } else {
                    processLine(line);
                }
            }
            reader.close();
        } catch (IOException e) {
            System.out.println("File does not exist.");
        }
    }

    public static void processLine(String line) {
        String[] newCourse = line.split("\\t");
        courses.add(newCourse);
    }

}

当我尝试运行程序时,我得到以下输出:

Exception in thread "main" java.lang.NullPointerException
    at GradeFormatter.processLine(GradeFormatter.java:34)
    at GradeFormatter.main(GradeFormatter.java:23)

有没有人可以帮我解决为什么我得到这个空指针异常?我似乎无法弄清楚它来自哪里。

1 个答案:

答案 0 :(得分:1)

您应该初始化ArrayList课程ArrayList<String[]> courses = new ArrayList<String[]>()