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]放置任何内容。