Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中将二维数组的列作为参数传递_Java_Arrays_Row - Fatal编程技术网

在Java中将二维数组的列作为参数传递

在Java中将二维数组的列作为参数传递,java,arrays,row,Java,Arrays,Row,我只想在方法调用中传递二维数组的列。我知道如何一排一排地通过2D,那就是 Checka[i],9;请记住,a被定义为二维数组 但是我不知道怎么一行一行地做。。。如果这样做会产生错误,则不会 Check(a[i][],9); 谢谢如果不显式创建数组并逐个元素从原始矩阵元素复制,则无法执行此操作。如果不显式创建数组并逐个元素从原始矩阵元素复制,则无法执行此操作。您无法以这种方式访问二维数组中的“列”,至少在Java中不能。您需要手动迭代行并选择所需的列值。您不能以这种方式访问2d数组中的“列”

我只想在方法调用中传递二维数组的列。我知道如何一排一排地通过2D,那就是

Checka[i],9;请记住,a被定义为二维数组

但是我不知道怎么一行一行地做。。。如果这样做会产生错误,则不会

 Check(a[i][],9); 

谢谢

如果不显式创建数组并逐个元素从原始矩阵元素复制,则无法执行此操作。

如果不显式创建数组并逐个元素从原始矩阵元素复制,则无法执行此操作。

您无法以这种方式访问二维数组中的“列”,至少在Java中不能。您需要手动迭代行并选择所需的列值。

您不能以这种方式访问2d数组中的“列”,至少在Java中不能。您需要手动迭代行并选择所需的列值。

不确定我是否正确理解您的问题,但我认为您缺少第二个循环

for( int i = 0; i < a.length; i++ )
{
   for( int j = 0; j < a[i].length; j++ )
   {
      cellAtRowIColumnJ(a[i][j], 9) //what is the 9 for?
   } 
}
您可能还需要这个不确定的dunno如果编译了它,那么想法是将列值复制到一个新数组并传递该数组

int[] cols = new int[a.length];
for( int i = 0; i < a.length; i++ )
{
   cols[i] = a[i][9];
}
callWithColumns(cols);

我不确定我是否正确理解了你的问题,但我认为你错过了第二个循环

for( int i = 0; i < a.length; i++ )
{
   for( int j = 0; j < a[i].length; j++ )
   {
      cellAtRowIColumnJ(a[i][j], 9) //what is the 9 for?
   } 
}
您可能还需要这个不确定的dunno如果编译了它,那么想法是将列值复制到一个新数组并传递该数组

int[] cols = new int[a.length];
for( int i = 0; i < a.length; i++ )
{
   cols[i] = a[i][9];
}
callWithColumns(cols);

二维数组不是矩阵。它的行为更像一个数组数组

int a[][];
for (int b[] : a)
    for (int c : b)
        System.out.print(c);
您似乎在寻找由每个内部数组的第一个元素组成的数组,该数组无法自动访问。您需要创建一个新数组

int temp[] = new int[a.length];
for (int x = 0; x < temp.length; x++)
    temp[x] = a[x][0];

二维数组不是矩阵。它的行为更像一个数组数组

int a[][];
for (int b[] : a)
    for (int c : b)
        System.out.print(c);
您似乎在寻找由每个内部数组的第一个元素组成的数组,该数组无法自动访问。您需要创建一个新数组

int temp[] = new int[a.length];
for (int x = 0; x < temp.length; x++)
    temp[x] = a[x][0];

我认为您需要像这样创建该数组,然后传递它:

int column = 0; // column you want to get
int[] col = new int[a.length];
for(int i = 0; i < a.length; i++) {
    col[i] = a[i][column];
}

// col is now what you want to pass.
Check(col, 9);

我认为您需要像这样创建该数组,然后传递它:

int column = 0; // column you want to get
int[] col = new int[a.length];
for(int i = 0; i < a.length; i++) {
    col[i] = a[i][column];
}

// col is now what you want to pass.
Check(col, 9);