我有两个类Car和Tire,它们具有以下功能。当访问初始化对象的内部对象属性时出现NullPointerException
轮胎:
public static class Tire{
public boolean isBroken;
public int milesLeft;
public Tire(){
isBroken = false;
milesLeft = 100;
}
public void copyTire(Tire anotherTire){
isBroken = anotherTire.isBroken;
milesLeft = anotherTire.milesLeft;
}
public int getMilesLeft(){
return milesLeft;
}
}
汽车
public static class Car{
public boolean maintenance;
public String name;
public Tire tires[] = new Tire[MAX_TIRES];
public Tire LF = new Tire();
public Car(String name){
maintenance = false;
this.name = name;
}
public String getName(){
return name;
}
}
我的问题是,我想从汽车的阵列的所有轮胎打印信息(milesLeft)。我认为它会简单地通过使用for循环,但它不,我不知道为什么。
这是我的尝试:
for(int i = 0; i < MAX_TIRES; i++){
System.out.println("Tire nº"+i+": "+ i20.tires[i].getMilesLeft());
}
虽然印刷只轮胎,我们已经在汽车类的LF,没有任何问题。
你可能看到的任何其他错误也会写出来,我研究过C++,但是我从Java开始。
编辑:
错误:螺纹
异常 “主” 显示java.lang.NullPointerException 在vehicles.main(vehicles.java:56)
与汽车的声明'主功能。
public static void main(String []args) {
Car i20 = new Car("i20");
System.out.println("The name is " + i20.getName());
System.out.println("The tires' status right now is:");
for(int i = 0; i < MAX_TIRES; i++){
System.out.println("Tire nº"+i+": "+ i20.tires[i].getMilesLeft());
}
}
什么是错误? –
迭代之前是否将任何轮胎添加到阵列? – daniu
线程“主”java.lang.NullPointerException异常在vehicles.main(vehicles.java:56)错误。和汽车:汽车i20 =新车(“i20”);我认为在创造新车时,它也会创造轮胎。 –