package survival;
public class World {
private int width;
private int height;
private int distancePenalty = 2;
private int turnPenalty = 4;
private double hungerPenalty = 0.1;
private Plant[] plants;
private Herbivore[] herbivores;
private Carnivore[] carnivores;
private int[] newestHerbivore;
private int[] newestCarnivore;
public World(int plantNumber, int herbivoreNumber, int carnivoreNumber, int width, int height) {
this.width = width;
this.height = height;
plants = new Plant[plantNumber];
for (int i = 0; i < plantNumber; i++) {
plants[i] = new Plant(Math.random() * width, Math.random() * height);
}
herbivores = new Herbivore[herbivoreNumber];
for (int i = 0; i < herbivoreNumber; i++) {
herbivores[i] = new Herbivore(Math.random() * width, Math.random() * height);
//////////// This line causes java.lang.NullPointerException
newestHerbivore[i] = 1;
}
carnivores = new Carnivore[carnivoreNumber];
for (int i = 0; i < carnivoreNumber; i++) {
//////////// This line causes java.lang.NullPointerException
newestCarnivore[i] = 1;
}
}
}
为什么这一行:Java异常添加项目时,阵列
newestHerbivore[i] = 1;
元素引起异常?
newestHerbivore数组是空的,所以分配基于索引值会抛出错误 – 2011-12-15 16:54:01
附近有一颗就行宣布15 – 2011-12-15 16:54:19