访问二维数组Java的整个子列表

时间:2016-06-23 16:12:21

标签: java multidimensional-array processing

我很难过。这应该很简单。我试图访问构成我的2D数组的整个子列表/短名单(不确定它们叫什么)。我看到的所有参考资料都向我展示了如何从数组中简单地选择或打印行/列项。谢谢

int brobes[][]  = {{0, 1, 0}, {4, 4, 4}, {4, 5, 5}, {6, 7, 8}};
int my0[] = brobes[0];
println(brobes[0]);
//hoping it will print: {0,1,0} and so forth

4 个答案:

答案 0 :(得分:1)

我认为你过度思考它。你的代码打印出来:

[0] 0
[1] 1
[2] 0

在Processing中打印数组时,它会在自己的行上打印数组的每个索引。这是正确的行为,这意味着您正确地将阵列从2D阵列中取出。

(如果它是一个对象数组而不是整数,这会更复杂,在这种情况下你必须使用printArray()函数。)

如果您想要的是默认打印格式以外的其他内容,那么您将不得不自己动手:

String s = "{";
for(int i : brobes[0]){
   s += " " + i;
}
s += " }";
println(s);

您也可以使用其他答案中的Java解决方案,但这会阻止您以后将其部署为JavaScript。

但是,如果你想做的就是将阵列从2D阵列中取出,你已经在做那个了。然后,您可以像使用任何其他数组一样使用此数组。

答案 1 :(得分:0)

如果您的目标只是打印一行数组,请使用

System.out.println(Arrays.toString(brobes[0]));

如果您的目标只是打印孔阵列,请使用 Arrays.deepToString()方法......

System.out.println(Arrays.deepToString(brobes));

这将打印数组的漂亮表示

  

[[0,1,0],[4,4,4],[4,5,5],[6,7,8]]

如果要检查/操作/操作数组中的每个元素,请使用双循环....

实施例

public static void main(String[] args) {
int brobes[][] = { { 0, 1, 0 }, { 4, 4, 4 }, { 4, 5, 5 }, { 6, 7, 8 } };
for (int i = 0; i < brobes.length; i++) {
    for (int j = 0; j < brobes[i].length; j++) {
    System.out.println(brobes[i][j]);
    }
    System.out.println("======================");
}
}

答案 2 :(得分:-2)

以下解决方案是Java。可能用不同的语言可以做类似的事情(尽管不完全确定:))

这是因为bin/console cache:clear --env=prod本身就是一个数组。 brobes[0]将打印数组中使用的默认toString方法,该方法是一种不可读的格式。

您可以使用Arrays.toString将数组转换为字符串。

System.out.println

答案 3 :(得分:-2)

首先,尝试更改数组之后的括号,使其在数组之前生成,如下所示:int [] myo = brobes [0];

如果这不起作用,为什么不用循环遍历数组呢? 这里的最终目标是什么?