嘿,节目中的名字是葡萄牙语,但我认为这是可以理解的,如果你有任何疑问,只要问一下,我会翻译。
所以我得到NullPointerException
这些。数组Vector_Canais在构造函数中初始化:
public Box(int capacidade) {
Time a = new Time();
Vector_Canais = new Canal[DEFAULT_SIZE];
}
public static void novoCanal() {
Scanner in = new Scanner(System.in);
Cnl = in.nextLine();
Vector_Canais[i] = new Canal(Cnl);
i++;
}
public static String listaCanais(int i) {
return (Vector_Canais[i].getCanal());
}
public static void listaCanais() {
for (int a = 0; a < 100; a++) {
if (Box.listaCanais(a) != null) {
System.out.println(Box.listaCanais(a));
}
}
我初始化为0。 有什么想法吗?
答案 0 :(得分:3)
很可能你没有初始化数组Vector_Canais
或者你没有初始化它的所有成员(例如,novoCanal
之前没有被调用过100次)。记住,制作一个大小为100(类的)数组意味着制作一个包含100个null
个插槽的数组,而不是100个对象。在为每个人调用构造函数之前,他们可能会抛出它。
答案 1 :(得分:1)
您尚未显示初始化Vector_Canais
的位置 - 我的猜测是您不正在初始化它。
试试这个:
static private Vector_Canais Canal[] = new Canal[100]; // for example