(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
?我想你需要给我看看