Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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初学者)为什么我的数组为空?_Java_Arrays_Null - Fatal编程技术网

(Java初学者)为什么我的数组为空?

(Java初学者)为什么我的数组为空?,java,arrays,null,Java,Arrays,Null,以下是我的方法: public int randomIntegers() { array = new int[20]; Random r = new Random(); for(i =0; i<20; i++) { int intRandom = r.nextInt(1000); if (intRandom >= 100) { array[i] = intRandom; }

以下是我的方法:

public int randomIntegers() {
    array = new int[20];
    Random r = new Random();

    for(i =0; i<20; i++) {
        int intRandom = r.nextInt(1000);
        if (intRandom >= 100) {
            array[i] = intRandom;       
        }
    }
    return array[i];
}

当我在main方法中使用println时,我得到一个NullPointerException。我曾真诚地试图从概念上理解为什么这不起作用,但毫无结果

您试图返回的是一个整数,而不是整个数组。整数甚至无效,因为您试图返回数组中最后一个整数之后的整数

我猜您希望将整个数组返回到主方法,如果需要,您需要更改方法签名以返回数组,并更改return语句,如下所示:

public int[] randomIntegers() {
   //code....
   return array;
}

另一方面,并不总是用生成的整数填充数组。当生成的随机数小于100(大约每十次)时,插槽将不会被填充,因此int的插槽中的值为0。

您试图返回的是整数,而不是整个数组。整数甚至无效,因为您试图返回数组中最后一个整数之后的整数

我猜您希望将整个数组返回到主方法,如果需要,您需要更改方法签名以返回数组,并更改return语句,如下所示:

public int[] randomIntegers() {
   //code....
   return array;
}

另一方面,并不总是用生成的整数填充数组。当生成的随机数小于100(大约每十次)时,插槽将不会被填充,因此int的插槽中的值为0。

您试图返回的是整数,而不是整个数组。整数甚至无效,因为您试图返回数组中最后一个整数之后的整数

我猜您希望将整个数组返回到主方法,如果需要,您需要更改方法签名以返回数组,并更改return语句,如下所示:

public int[] randomIntegers() {
   //code....
   return array;
}

另一方面,并不总是用生成的整数填充数组。当生成的随机数小于100(大约每十次)时,插槽将不会被填充,因此int的插槽中的值为0。

您试图返回的是整数,而不是整个数组。整数甚至无效,因为您试图返回数组中最后一个整数之后的整数

我猜您希望将整个数组返回到主方法,如果需要,您需要更改方法签名以返回数组,并更改return语句,如下所示:

public int[] randomIntegers() {
   //code....
   return array;
}

另一方面,并不总是用生成的整数填充数组。当生成的随机数小于100(大约每十次)时,插槽将不会被填充,因此int的插槽中的值为0。

如果问题中的代码是您实际运行的代码的真实反映,那么唯一合理的解释是

     System.out.println(array[i]);
投掷NPE的有:

  • 您尚未调用
    随机整数()
  • 您正在打印的
    数组
    与您在
    随机整数
    方法中分配给的
    数组
    是不同的变量

如果这不能解释问题,请用您的整个程序和stacktrace更新您的问题。

如果问题中的代码是您实际运行的代码的真实反映,那么唯一合理的解释就是

     System.out.println(array[i]);
投掷NPE的有:

  • 您尚未调用
    随机整数()
  • 您正在打印的
    数组
    与您在
    随机整数
    方法中分配给的
    数组
    是不同的变量

如果这不能解释问题,请用您的整个程序和stacktrace更新您的问题。

如果问题中的代码是您实际运行的代码的真实反映,那么唯一合理的解释就是

     System.out.println(array[i]);
投掷NPE的有:

  • 您尚未调用
    随机整数()
  • 您正在打印的
    数组
    与您在
    随机整数
    方法中分配给的
    数组
    是不同的变量

如果这不能解释问题,请用您的整个程序和stacktrace更新您的问题。

如果问题中的代码是您实际运行的代码的真实反映,那么唯一合理的解释就是

     System.out.println(array[i]);
投掷NPE的有:

  • 您尚未调用
    随机整数()
  • 您正在打印的
    数组
    与您在
    随机整数
    方法中分配给的
    数组
    是不同的变量

如果这还不能解释问题,请用整个程序和stacktrace更新您的问题。

告诉我们您想要打印什么,或者您的主要方法,并定义大小值,max和min返回数组的最后一个元素,如果要返回完整数组,请在打印之前返回referenceTry以打印
i
的值。还有-在调用
print
语句之前是否初始化数组?在哪里声明
i
?我认为您需要显示整个文件。向我们展示您试图打印的内容或主要方法,并定义size、max和min的值,返回数组的最后一个元素。如果要返回完整数组,请在打印之前返回引用以打印
I
的值。还有-在调用
print
语句之前是否初始化数组?在哪里声明
i
?我认为您需要显示整个文件。向我们展示您试图打印的内容或主要方法,并定义size、max和min的值,返回数组的最后一个元素。如果要返回完整数组,请在打印之前返回引用以打印
I
的值。还有-在调用
print
语句之前是否初始化数组?在哪里声明
i
?我想你需要给我看看