Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 数组NullPointerException_Java_Arrays - Fatal编程技术网

Java 数组NullPointerException

Java 数组NullPointerException,java,arrays,Java,Arrays,我是第一次学习数组,但一直不明白为什么我总是出错。这是我的类的构造函数,名为Grades public Grades(float [] g){ for(int i = 0; i < g.length; i++){ if(g[i] >= 0 && g[i] <=100){ listOfGrades[i] = g[i]; } } } 为什么会出现空指针异常?直接复制数组即可: publi

我是第一次学习数组,但一直不明白为什么我总是出错。这是我的类的构造函数,名为Grades

public Grades(float [] g){
    for(int i = 0; i < g.length; i++){
        if(g[i] >= 0 && g[i] <=100){

            listOfGrades[i] = g[i];

        }

    }
}

为什么会出现空指针异常?

直接复制数组即可:

public Grades(float [] g){
    listOfGrades = Arrays.copyOf(g);
}
我猜您刚刚声明了
float[]listOfGrades
。如果不需要阵列副本,则需要实际实例化它:

public Grades(float [] g){
    listOfGrades = new float[g.length];
    for(int i = 0; i < g.length; i++){
        if(g[i] >= 0 && g[i] <=100){

            listOfGrades[i] = g[i];

        }

    }
}
公共等级(浮动[]g){
listOfGrades=新浮点数[g.长度];
对于(int i=0;i如果(g[i]>=0&&g[i]只需直接复制数组:

public Grades(float [] g){
    listOfGrades = Arrays.copyOf(g);
}
我猜您刚刚声明了
float[]listOfGrades
。如果不需要数组副本,您需要实际实例化它:

public Grades(float [] g){
    listOfGrades = new float[g.length];
    for(int i = 0; i < g.length; i++){
        if(g[i] >= 0 && g[i] <=100){

            listOfGrades[i] = g[i];

        }

    }
}
公共等级(浮动[]g){
listOfGrades=新浮点数[g.长度];
对于(int i=0;i如果(g[i]>=0&&g[i]只需直接复制数组:

public Grades(float [] g){
    listOfGrades = Arrays.copyOf(g);
}
我猜您刚刚声明了
float[]listOfGrades
。如果不需要数组副本,您需要实际实例化它:

public Grades(float [] g){
    listOfGrades = new float[g.length];
    for(int i = 0; i < g.length; i++){
        if(g[i] >= 0 && g[i] <=100){

            listOfGrades[i] = g[i];

        }

    }
}
公共等级(浮动[]g){
listOfGrades=新浮点数[g.长度];
对于(int i=0;i如果(g[i]>=0&&g[i]只需直接复制数组:

public Grades(float [] g){
    listOfGrades = Arrays.copyOf(g);
}
我猜您刚刚声明了
float[]listOfGrades
。如果不需要数组副本,您需要实际实例化它:

public Grades(float [] g){
    listOfGrades = new float[g.length];
    for(int i = 0; i < g.length; i++){
        if(g[i] >= 0 && g[i] <=100){

            listOfGrades[i] = g[i];

        }

    }
}
公共等级(浮动[]g){
listOfGrades=新浮点数[g.长度];
对于(int i=0;i=0&&g[i]看看这个

简而言之,空指针异常通常意味着您试图访问内存中没有引用的数据结构的一部分。在本例中,这只是因为您没有正确初始化数组

Java中的数组初始化如下所示

DATA_TYPE[] name = new DATA_TYPE[ARRAY_SIZE];
在类中调用此函数时,如果知道数组的大小,则需要在构造函数中声明前半部分和私有变量,然后在构造函数中声明后半部分。因此,这将显示在带有私有变量的构造函数之前:

private DATA_TYPE name;
这将出现在您的构造函数中:

name = new DATA_TYPE[ARRAY_SIZE];
看看这个

简而言之,空指针异常通常意味着您试图访问内存中没有引用的数据结构的一部分。在本例中,这只是因为您没有正确初始化数组

Java中的数组初始化如下所示

DATA_TYPE[] name = new DATA_TYPE[ARRAY_SIZE];
在类中调用此函数时,如果知道数组的大小,则需要在构造函数中声明前半部分和私有变量,然后在构造函数中声明后半部分。因此,这将显示在带有私有变量的构造函数之前:

private DATA_TYPE name;
这将出现在您的构造函数中:

name = new DATA_TYPE[ARRAY_SIZE];
看看这个

简而言之,空指针异常通常意味着您试图访问内存中没有引用的数据结构的一部分。在本例中,这只是因为您没有正确初始化数组

Java中的数组初始化如下所示

DATA_TYPE[] name = new DATA_TYPE[ARRAY_SIZE];
在类中调用此函数时,如果知道数组的大小,则需要在构造函数中声明前半部分和私有变量,然后在构造函数中声明后半部分。因此,这将显示在带有私有变量的构造函数之前:

private DATA_TYPE name;
这将出现在您的构造函数中:

name = new DATA_TYPE[ARRAY_SIZE];
看看这个

简而言之,空指针异常通常意味着您试图访问内存中没有引用的数据结构的一部分。在本例中,这只是因为您没有正确初始化数组

Java中的数组初始化如下所示

DATA_TYPE[] name = new DATA_TYPE[ARRAY_SIZE];
在类中调用此函数时,如果知道数组的大小,则需要在构造函数中声明前半部分和私有变量,然后在构造函数中声明后半部分。因此,这将显示在带有私有变量的构造函数之前:

private DATA_TYPE name;
这将出现在您的构造函数中:

name = new DATA_TYPE[ARRAY_SIZE];

什么是
listOfGrades
?它初始化了吗?你在哪里初始化
listOfGrades
?你的代码构造函数或正则函数?什么是
listOfGrades
?它初始化了吗?你在哪里初始化
listOfGrades
?你的代码构造函数或正则函数?什么是
listOfGrades
?它初始化了吗?在哪里初始化
listOfGrades
?是代码构造函数还是正则函数?什么是
listOfGrades
?是初始化的吗?在哪里初始化
listOfGrades
?是代码构造函数还是正则函数?