明确地将值分配给2D数组?
我以前从未这样做过,也找不到答案。 这可能不是用于此的正确数据类型,但我只想分配一个int,然后另一个没有for循环的int进入2D数组,这些值实际上是从另一个函数返回的,但为了简单起见我刚刚使用了int i和k,这就是我认为你会这样做的,但它不是:
int contents[][] = new int[2][2]; contents[0][0] = {int i, int k} contents[1][1] = {int i, int k} contents[2][2] = {int i, int k}
TIA – 如果我正在咆哮错误的树,请随意指向更好的数据结构的方向。
最好的方法可能是一次声明并分配所有值。 如图所示。 Java将自动确定数组的大小,并将值分配给这样。
int contents[][] = { {1, 2} , { 4, 5} };
或者,如果您需要先声明数组,请记住每个contents[0][0]
指向一个整数值而不是两个数组。 所以要获得与上面相同的作业,你会写:
contents[0][0] = 1; contents[0][1] = 2; contents[1][0] = 4; contents[1][1] = 5;
最后我要注意,2乘2arrays的索引是0到1而不是0到2。
希望有所帮助。
您是否希望在声明时分配2D数组中的所有值? 如果是这样,它的工作原理如下:
int[][] contents = new int[][]{ {1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
请记住,Java中的2D数组实际上是一个数组数组,但如果您在声明时执行此操作,Java会为您提供一些特殊语法。
你要这个:
int [][] t = {{1,2,3},{4,5,6}};
contents [0] [0]指向单个int,而不是int数组。 您只能将任何特定索引的单个值分配给数组。
你是这个意思吗?
int contents[][] = new int[2][2]; contents[0][0] = 1; contents[1][1] = 2; ...
这样您就可以为2Darrays中的元素分配值,一次一个。
另请注意,您无法访问大小为2的数组中的索引2.大小为2的数组有2个有效标记(0和1)。 通常,大小为N的数组有N个有效指标(0 …(N-1))
int Array[][] = {{1, 2}, {3, 4}};
这个数组创建了一个2 * 2 [Row * column] = 4 Boxes的表格。 在1行和1列中存储1。 而在0行和2列中存储0。