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
Java 方法中创建的数组的NullPointerException_Java_Arrays - Fatal编程技术网

Java 方法中创建的数组的NullPointerException

Java 方法中创建的数组的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

我目前正在做一个关于阵列的简单大学项目

在我的项目中,我使用一个名为“setArray”的方法初始化并填充数组,但是当程序返回我试图打印数组内容的主方法时,它返回一个NullPointerException

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发生在哪一行?能否提供