小编Shu*_*ham的帖子

3d数组使用Java.util.Scanner.nextInt()将null作为输入

当我输入数组元素时,以下代码给出了NullPointerException.经过调试和分析后,我发现只有在使用3d数组时才会遇到异常.2d它工作正常.显然由于某种原因,数组将null作为输入.有人可以解释一下吗?也许3D阵列有问题.

编辑:另外,在我的情况下,第三维的值是未知的,因为它将取决于需要首先输入的arr [0] [0] [0]的值.因此应在运行时分配第三维长度.

import java.util.*;
public class NewClass 
{
    public static void main(String args[])
    {
        int T;
        Scanner sc = new Scanner (System.in);
        T=sc.nextInt();//this works fine
        int arr[][][]= new int[T][4][];
        for(int i=0;i<T;i++)
        {
            for(int j=0;j<3;j++)
            {
                arr[i][j][0]=sc.nextInt();//NullPointerException after input

            }

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

java arrays nullpointerexception

0
推荐指数
1
解决办法
39
查看次数

标签 统计

arrays ×1

java ×1

nullpointerexception ×1