Java 奇怪的运行时错误

Java 奇怪的运行时错误,java,class,runtime,Java,Class,Runtime,我做了这个程序,它处理类和关系,当我运行这个程序时,它给我一个错误“线程中的异常”main“java.lang.NullPointerException”,我的IDE在编码中没有检测到任何错误,有人能帮我吗,这很烦人 import java.util.Vector; class Flight { private String id; private String destination; private Time depart; private Time arri

我做了这个程序,它处理类和关系,当我运行这个程序时,它给我一个错误“线程中的异常”main“java.lang.NullPointerException”,我的IDE在编码中没有检测到任何错误,有人能帮我吗,这很烦人

import java.util.Vector;
class Flight {
    private String id;
    private String destination;
    private Time depart;
    private Time arrival;
    private Vector passengerList;
    public Flight(String a, String b, Time c, Time d) {
        id = a;
        destination = b;
        depart = c;
        arrival = d;
    }
    public void addPassenger(Passenger a) {
        passengerList.add(a);
    }
    public void printInfo() {
        System.out.println("Id " + id);
        System.out.println("Destination " + destination);
        System.out.println("Depart " + depart.getHour() + " " + depart.getMinute());
        System.out.println("Arrival " + arrival.getHour() + " " + arrival.getMinute());
        System.out.println("Number of passengers " + passengerList.size());
    }
}
class Time {
    private int hour;
    private int minute;
    public Time(int a, int b) {
        hour = a;
        minute = b;
    }
    public int getHour() {
        return hour;
    }
    public int getMinute() {
        return minute;
    }
}
class Passenger {
    private String name;
    private int age;
    public Passenger(String a, int b) {
        name = a;
        age = b;
    }
}
class FlightTester {
    public static void main(String[] args) {
        Time dep = new Time(8, 10);
        Time arr = new Time(9, 00);
        Flight f = new Flight("PK-303", "Lahore", dep, arr);
        Passenger psg1 = new Passenger("Umair", 30);
        Passenger psg2 = new Passenger("Manzoor", 44);
        f.addPassenger(psg1);
        f.addPassenger(psg2);
        f.printInfo();
    }
}

私人矢量乘客列表

未初始化,可能是问题所在

    Vector passengerList are not initialized.
当你打电话的时候

    f.addPassenger(psg2);
您将获得NullPointException

使用列表比使用向量更好

private Vector passengerList;

您从未对此进行过初始化,因此当您的代码命中引用passengerList的任何内容时,您会得到一个空指针异常。

运行时异常与编译错误是不同的概念。关于NullPointerException是什么以及如何修复它,onlien拥有丰富的知识。它是Java中最常见的运行时异常之一,通常很容易修复。请仔细阅读。您是否介意发布错误堆栈跟踪,以便我们可以进一步帮助您?请告诉我们在您的代码中实际发生异常的位置,因为搜索整个代码将是一件痛苦的事情。不要在线程“main”java.lang.NullPointerException中查看
passengerList
初始化Anywhere异常