java - 如何检查一个值是否在二维数组的某个位置?
问题描述
我正在创建一个 2D 数组:
int[][] family = new int[10][];
然后我将第二个添加到它family[0][0] = 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) {}```
解决方案
您没有在 2D 数组初始化期间或在为 赋值之前声明列的长度family[0][0]
,因此您可以这样做,int[][] family = new int[2][2];
因此拥有一个 2 行和 2 列的数组,或者您可以为每行创建动态列数(比如第 0 行) 使用family[0] = new int[2];
.
动态方法如下面的代码所示:
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;
}
}
推荐阅读
- scala - 处理数据库输出中的非法字符 <0x1A>
- javascript - onclick() 事件的问题,在 div 上完成了不止一次点击
- r - 是否有用于检查 GeoJSON 对象(多边形或多多边形)是否包含点的 R 函数?以及哪个 GeoJSON 对象容器指向哪个
- android - 为什么我的代码没有在 Android 8+ (Oreo+) 中启动我的应用程序的固定快捷方式?
- uwp - UWP DataGrid 上的糟糕表现
- python-3.x - 如何使用来自数据库而不是 .txt 的数据进行动态绘图?
- c# - 在 .NET Core 内置 DI 容器中为 AddScoped 服务实现自定义处置
- powershell - Powershell CSV按字段分组数据
- php - Laravel 字段“状态”没有默认值,我在相关帖子中尝试过答案无济于事
- ruby-on-rails - 使用实例双精度测试 ActiveJob 重试