无法理解为什么我得到一个空指针错误

迪伦

我对Java编码很陌生,对堆栈交换也很陌生。我一直在尝试做这个汽车经销计划。尝试将汽车或自行车添加到车辆列表中时,我一直收到空指针错误,但我似乎无法弄清楚为什么,我几乎肯定是我把东西弄混了,放在错误的位置,但是我无法弄清楚哪去了。我使用一个驱动程序,一个Vehicles超类和Cars and Bikes作为两个继承自Vehicles的子类。抱歉,如果对任何内容不清楚,我们将不胜感激。谢谢!

public class BMWdriver {

ArrayList<Vehicles> list;

public void Driver() {
    list = new ArrayList<Vehicles>();

}

public void inputCarDetails() {
    Scanner scan = new Scanner(System.in);
    String model, colour, fuelType, layout, frame, vehicleType;
    int doors, stock, displacement, topSpeed, stroke, noSeats, noVehicles;
    double price, fuelMpg;
    boolean sunroof;
    Vehicles car;

    System.out.println("----Entering car details----");
    System.out.println("\nEnter model");
    model = scan.nextLine();
    System.out.println("Enter Price");
    price = scan.nextDouble();
    scan.nextLine();
    System.out.println("Enter colour");
    colour = scan.nextLine();
    System.out.println("Enter no. in stock");
    stock = scan.nextInt();
    System.out.println("Enter MPG");
    fuelMpg = scan.nextDouble();
    System.out.println("Enter displacement");
    displacement = scan.nextInt();
    System.out.println("Enter top speed");
    topSpeed = scan.nextInt();
    System.out.println("Enter no. of doors");
    doors = scan.nextInt();
    System.out.println("Enter fuel type");
    fuelType = scan.nextLine();
    System.out.println("Enter wheel layout");
    layout = scan.nextLine();
    System.out.println("Enter sunroof (true/false)");
    sunroof = scan.nextBoolean();

    car = new Cars(model, price, colour, stock, fuelMpg, displacement, topSpeed, doors, fuelType, layout, sunroof);
    list.add(car);
}

public void inputBikeDetails() {
    Scanner scan = new Scanner(System.in);
    String model, colour, fuelType, layout, frame, vehicleType;
    int doors, stock, displacement, topSpeed, stroke, noSeats, noVehicles;
    double price, fuelMpg;
    boolean sunroof;
    Vehicles bike;

    System.out.println("----Entering bike details----");
    System.out.println("\nEnter model");
    model = scan.nextLine();
    System.out.println("Enter Price");
    price = scan.nextDouble();
    scan.nextLine();
    System.out.println("Enter colour");
    colour = scan.nextLine();
    System.out.println("Enter no. in stock");
    stock = scan.nextInt();
    System.out.println("Enter MPG");
    fuelMpg = scan.nextDouble();
    System.out.println("Enter displacement");
    displacement = scan.nextInt();
    System.out.println("Enter top speed");
    topSpeed = scan.nextInt();
    System.out.println("Enter engine stroke");
    stroke = scan.nextInt();
    System.out.println("Enter no. of seats");
    noSeats = scan.nextInt();
    System.out.print("Enter the frame type");
    frame = scan.nextLine();

    bike = new Bikes(model, price, colour, stock, fuelMpg, displacement, topSpeed, stroke, noSeats, frame);
    list.add(bike);

}

public static void main(String[] args) // main method
{
    BMWdriver driver = new BMWdriver();
    driver.startMenu();
    driver.inputCarDetails();
    driver.inputBikeDetails();
}
}
普利雅玛尔
ArrayList<Vehicles> list; 

您没有调用Driver方法来初始化arraylist

public static void main (String[] args) // main method
{
    BMWdriver driver = new BMWdriver();
    driver.Driver();
    driver.startMenu();
    driver.inputCarDetails();
    driver.inputBikeDetails();
}

}

您正在尝试将尚未初始化的数据添加到您的列表中。您应确保在添加任何数据之前已对其进行了初始化。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法理解为什么我得到System.ArgumentNullException的用户代码未处理

为什么我的 getter 得到一个空指针

无法理解为什么我在python 3.6 Spyder IDE中得到了“ raise JSONDecodeError:Expecting value”

无法理解为什么为什么在没有任何按钮动作的情况下打开上一个视图?

无法理解为什么我不能拥有只有唯一对象的对象数组

无法理解为什么会发生此错误-Swift

无法理解为什么git merge -s我们的将忽略先前的提交

无法理解为什么我的 Java 正则表达式不起作用

上下限不符合我的预期,无法理解为什么

无法理解为什么我的THREE.js对象是部分透明的

似乎无法理解为什么 SQL 查询没有给我正确的响应

无法理解为什么RepositoryRestController不起作用?

无法理解为什么UISegmentedControl返回nil

无法理解为什么prolog会无限循环

无法理解为什么for循环超出范围

无法理解为什么True / False无效

为什么我得到一个空的 JSON

为什么我得到一个空的位图?

我无法理解为什么我无法映射我在 React 程序中设置的状态下返回的数据

我有一个解析错误,我无法理解

为什么我得到一个错误与进口阵营

为什么我得到一个表达式无法分配错误

Python海龟函数 - 收到一个我无法理解的错误

预增量运算符和解引用运算符导致分段错误,似乎无法理解为什么

无法理解为什么这个 Jasmine 测试不断失败,队列错误中的计时器

无法理解为什么实例化我的对象时输入字符串的格式不正确?

无法理解为什么我不使用PHP mail()函数将邮件发送到主机邮件

无法理解为什么字母u在我的raw_input()输出前面加上前缀

我在 setCellValueFactory 上得到一个空指针异常