【发布时间】:2016-02-02 23:06:11
【问题描述】:
我意识到这是一个常见错误,我已尝试使用其他有关此确切错误的问题来解决它,但我无法提出解决方案。我制作了 10 辆汽车的阵列,并设置了每辆汽车的品牌、颜色和年份。 getter 和 setter 方法位于另一个名为“Car”的类中。我不确定在哪里设置为空。提前感谢您的帮助。
错误:线程“main”中的异常 java.lang.NullPointerException 在 Main.main(Main.java:14)
import java.util.Random;
public class Main {
public static void main(String[] args) {
//Array of 10 cars
Car[] cars;
cars = new Car[10];
//Assign random colors and makes of my choice
cars[0].setMake("Toyota");
cars[1].setMake("Kia");
cars[2].setMake("Porsche");
cars[3].setMake("Ferrari");
cars[4].setMake("Honda");
cars[5].setMake("Jaguar");
cars[6].setMake("Lexus");
cars[7].setMake("Nissan");
cars[8].setMake("BMW");
cars[9].setMake("Tesla");
cars[0].setColor("Black");
cars[1].setColor("Green");
cars[2].setColor("Silver");
cars[3].setColor("Red");
cars[4].setColor("Yellow");
cars[5].setColor("White");
cars[6].setColor("Blue");
cars[7].setColor("Orange");
cars[8].setColor("Purple");
cars[9].setColor("Gold");
//Randomly selected years for the cars
int maxYear = 2015;
int minYear = 2010;
int maxYear2 = 2009;
int minYear2 = 1990;
Random r = new Random(1234);
cars[0].setYear(r.nextInt(maxYear - minYear + 1) + minYear);
cars[1].setYear(r.nextInt(maxYear - minYear + 1) + minYear);
cars[2].setYear(r.nextInt(maxYear - minYear + 1) + minYear);
cars[3].setYear(r.nextInt(maxYear - minYear + 1) + minYear);
cars[4].setYear(r.nextInt(maxYear - minYear + 1) + minYear);
cars[5].setYear(r.nextInt(maxYear2 - minYear2 + 1) + minYear2);
cars[6].setYear(r.nextInt(maxYear2 - minYear2 + 1) + minYear2);
cars[7].setYear(r.nextInt(maxYear2 - minYear2 + 1) + minYear2);
cars[8].setYear(r.nextInt(maxYear2 - minYear2 + 1) + minYear2);
cars[9].setYear(r.nextInt(maxYear2 - minYear2 + 1) + minYear2);
}
}
【问题讨论】:
标签: java arrays nullpointerexception