Java 方法中创建的数组的NullPointerException
我目前正在做一个关于阵列的简单大学项目 在我的项目中,我使用一个名为“setArray”的方法初始化并填充数组,但是当程序返回我试图打印数组内容的主方法时,它返回一个NullPointerExceptionJava 方法中创建的数组的NullPointerException,java,arrays,Java,Arrays,我目前正在做一个关于阵列的简单大学项目 在我的项目中,我使用一个名为“setArray”的方法初始化并填充数组,但是当程序返回我试图打印数组内容的主方法时,它返回一个NullPointerException public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int num[] = null; String command
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int num[] = null;
String command;
setArray(in, num);
for(int i = 0; i < num.length ; i++)
{
System.out.println(num[i]);
}
}
private static void setArray(Scanner in, int[] num)
{
System.out.println("Type the array size: ");
int dim = in.nextInt();
num = new int[dim];
System.out.println("Size: " + num.length);
System.out.println("Type the numbers' variability: ");
int var = in.nextInt();
int ran;
for(int i = 0; i < num.length ; i++)
{
ran = (int) (Math.random() * var);
num[i] = ran;
System.out.println(num[i]);
}
}
公共类主{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
int num[]=null;
字符串命令;
setArray(in,num);
for(int i=0;i
看看Java是否通过引用传递
您的代码最好是这样:
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int num[] = null;
String command;
num = setArray(in);
for(int i = 0; i < num.length ; i++)
{
System.out.println(num[i]);
}
}
private static int[] setArray(Scanner in)
{
System.out.println("Type the array size: ");
int dim = in.nextInt();
int[] numToReturn = new int[dim];
System.out.println("Size: " + numToReturn.length);
System.out.println("Type the numbers' variability: ");
int var = in.nextInt();
int ran;
for(int i = 0; i < numToReturn.length ; i++)
{
ran = (int) (Math.random() * var);
numToReturn[i] = ran;
System.out.println(numToReturn[i]);
}
return numToReturn;
}
publicstaticvoidmain(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
int num[]=null;
字符串命令;
num=setArray(in);
for(int i=0;i
看看Java是否通过引用传递
您的代码最好是这样:
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int num[] = null;
String command;
num = setArray(in);
for(int i = 0; i < num.length ; i++)
{
System.out.println(num[i]);
}
}
private static int[] setArray(Scanner in)
{
System.out.println("Type the array size: ");
int dim = in.nextInt();
int[] numToReturn = new int[dim];
System.out.println("Size: " + numToReturn.length);
System.out.println("Type the numbers' variability: ");
int var = in.nextInt();
int ran;
for(int i = 0; i < numToReturn.length ; i++)
{
ran = (int) (Math.random() * var);
numToReturn[i] = ran;
System.out.println(numToReturn[i]);
}
return numToReturn;
}
publicstaticvoidmain(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
int num[]=null;
字符串命令;
num=setArray(in);
for(int i=0;i
看看Java是否通过引用传递
您的代码最好是这样:
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int num[] = null;
String command;
num = setArray(in);
for(int i = 0; i < num.length ; i++)
{
System.out.println(num[i]);
}
}
private static int[] setArray(Scanner in)
{
System.out.println("Type the array size: ");
int dim = in.nextInt();
int[] numToReturn = new int[dim];
System.out.println("Size: " + numToReturn.length);
System.out.println("Type the numbers' variability: ");
int var = in.nextInt();
int ran;
for(int i = 0; i < numToReturn.length ; i++)
{
ran = (int) (Math.random() * var);
numToReturn[i] = ran;
System.out.println(numToReturn[i]);
}
return numToReturn;
}
publicstaticvoidmain(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
int num[]=null;
字符串命令;
num=setArray(in);
for(int i=0;i
看看Java是否通过引用传递
您的代码最好是这样:
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int num[] = null;
String command;
num = setArray(in);
for(int i = 0; i < num.length ; i++)
{
System.out.println(num[i]);
}
}
private static int[] setArray(Scanner in)
{
System.out.println("Type the array size: ");
int dim = in.nextInt();
int[] numToReturn = new int[dim];
System.out.println("Size: " + numToReturn.length);
System.out.println("Type the numbers' variability: ");
int var = in.nextInt();
int ran;
for(int i = 0; i < numToReturn.length ; i++)
{
ran = (int) (Math.random() * var);
numToReturn[i] = ran;
System.out.println(numToReturn[i]);
}
return numToReturn;
}
publicstaticvoidmain(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
int num[]=null;
字符串命令;
num=setArray(in);
for(int i=0;i
如果看到代码,则在setArray(scanner in,int[]num)方法中声明一个局部变量num,该变量在主函数中不可见,也与在主函数中声明的变量相同。
主函数中的变量数组num与setArray()函数中的变量数组num不同。如果您看到代码,您将在setArray(scanner in,int[]num)方法中声明一个局部变量num,该变量在主函数中不可见,也与在主函数中声明的变量相同。
主函数中的变量数组num与setArray()函数中的变量数组num不同。如果您看到代码,您将在setArray(scanner in,int[]num)方法中声明一个局部变量num,该变量在主函数中不可见,也与在主函数中声明的变量相同。
主函数中的变量数组num与setArray()函数中的变量数组num不同。如果您看到代码,您将在setArray(scanner in,int[]num)方法中声明一个局部变量num,该变量在主函数中不可见,也与在主函数中声明的变量相同。
主函数中的变量array num与setArray()函数中的变量array num不同。能否提供错误日志?NPE发生在哪一行?能否提供错误日志?NPE发生在哪一行?能否提供错误日志?NPE发生在哪一行?能否提供