Java 如何检查值是否位于二维数组的某个位置?

Java 如何检查值是否位于二维数组的某个位置?,java,arrays,Java,Arrays,我正在创建一个二维阵列: int[][]系列=新int[10][] 然后我用family[0][0]=2将数字2添加到其中 如何检查值2是否在数组的第一个元素中 我尝试了if(family[0][0]==2){return true;}但是当我运行程序时,它只是跳过它 完整代码: int[][] family = new int[1000000][]; Random rn = new Random(); Family f = new Family(

我正在创建一个二维阵列:
int[][]系列=新int[10][]
然后我用
family[0][0]=2将数字2添加到其中

如何检查值2是否在数组的第一个元素中

我尝试了
if(family[0][0]==2){return true;}
但是当我运行程序时,它只是跳过它

完整代码:

        int[][] family = new int[1000000][];
        Random rn = new Random();
        Family f = new Family();
        
        int answer = rn.nextInt(2) + 1;

        try {
            family[0][0] = answer;
        

        if (family[0][0] == 1) {
            System.out.println();
        }
            
        
        } catch (NullPointerException npe) {}```

在二维数组初始化期间或将值赋给
系列[0][0]
之前,您没有声明列的长度,因此您可以像
int[][]系列=新的int[2][2]那样执行此操作因此有一个2行2列的数组,或者您可以使用
family[0]=newint[2]为每一行(比如第0行)创建动态列数

动态方法如以下代码所示:

public class StackOverflow
{
    public static void main(String[] args)
    {
        int[][] family = new int[10][0]; 
        family[0] = new int[2]; //Initializing Row 0 with 2 Columns
        family[0][0] = 2; //Adding 2 to family array at position [0,0]
        System.out.println(check(family));
    }
    
    static boolean check (int[][] family)
    {
        if (family[0][0] == 2)
        return true;
        else return false;
    }
}


你能把全部代码都贴出来吗?这将更容易理解这个问题。我已经在问题中添加了这个代码应该做什么?您正在将一个随机整数(1或2)指定给(0,0)位置,然后仅检查其是否为1。查看代码后,我可以说它将始终执行catch块,因为您尚未初始化族数组的列,因此无法在位置[0][0]放置任何内容。