【问题标题】:How to grab only a certain row of a two-dimensional matrix in java?如何在java中只抓取二维矩阵的某一行?
【发布时间】:2017-05-07 04:21:21
【问题描述】:

当我在java中有一个二维矩阵,但我只想处理该矩阵的某一行,分别创建一个包含该行中矩阵内容的新数组时,我将如何实现(与原语)?

因此,例如,我们会这样写:

int[][] matrix = new int[10][10];

现在我们有一个 10 行 10 列的二维矩阵。假设我们用某些元素填充整个矩阵,现在,我希望只使用第一行,这意味着定义一个新数组,该数组正好包含矩阵第一行的元素。

【问题讨论】:

  • 向我们展示您的代码、示例矩阵、您要“抓取”什么以及您实际抓取了什么(预期与实际)。

标签: java arrays matrix


【解决方案1】:

假设该行表示矩阵的水平段(几乎总是如此):

在java中的二维数组中,行是第一个索引,列是第二个索引。
基本上,二维数组是数组的数组。所以

int[][] intArray = new int[10][3];

实际上是一个大小为 10 的数组。数组中的每个元素本身就是一个大小为 3 的数组

假设你有一个整数数组

int[][] integerArray; //we have to initialize the array.

然后我们要使用第一行。我们会使用:

int[] arr = integerArray[0];

限制

  1. 必须初始化矩阵(单元格中必须有值)
  2. 矩阵必须有第一行

注意:我们使用integerArray[0],因为数组从索引0开始,所以第三行是integerArray[2]

【讨论】:

  • 谢谢!第二行中的列会发生什么?为什么它可以被“忽略”?
  • 在java中,多维数组只是一个数组数组。
  • @Julian 但是您应该编辑您的问题以更好地解释您的意思。这是一个很好的做法。另外,如果您接受答案,请将其标记为已接受(答案分数下方的 V 符号)
  • 你怎么知道这是否是 OP 所说的“行”而不是“列”? :)
  • @Julian 也是数学家,在这种情况下,编程和数学是一样的。
猜你喜欢
  • 2016-05-16
  • 2018-06-25
  • 2013-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-14
  • 1970-01-01
相关资源
最近更新 更多