带数组的java.lang.NullPointerException

时间:2012-12-13 12:20:13

标签: java

嘿,节目中的名字是葡萄牙语,但我认为这是可以理解的,如果你有任何疑问,只要问一下,我会翻译。

所以我得到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。 有什么想法吗?

2 个答案:

答案 0 :(得分:3)

很可能你没有初始化数组Vector_Canais或者你没有初始化它的所有成员(例如,novoCanal之前没有被调用过100次)。记住,制作一个大小为100(类的)数组意味着制作一个包含100个null个插槽的数组,而不是100个对象。在为每个人调用构造函数之前,他们可能会抛出它。

答案 1 :(得分:1)

您尚未显示初始化Vector_Canais的位置 - 我的猜测是您正在初始化它。

试试这个:

static private Vector_Canais Canal[] = new Canal[100]; // for example