【问题标题】:How do I tell Java to go to a specific row in a 2d array? [closed]如何告诉 Java 转到二维数组中的特定行? [关闭]
【发布时间】:2016-01-31 09:27:23
【问题描述】:

对于功课,我需要编写一个整数矩阵类。它的属性是一个二维数组,意思是平方。其中一种方法有一个参数,它是一个 int,它是指矩阵的特定“行”。该方法检查该特定行(通过该方法传入的那一行)是否具有所有升序的数字。例如,将传入一个数字 6。如何告诉 Java 转到二维数组中的“行”或数组 6?方法签名是: boolean checkIfAscending(int rowNumber, int size)。

【问题讨论】:

  • “去”是什么意思?如果您能展示一些代码(最好是minimal reproducible example)并更清楚地解释您想要实现的目标,这将有所帮助。
  • @JonSkeet 如果我不确定如何编写代码如何显示代码?我将尝试编辑我的问题以澄清,但我不确定有什么不清楚的地方。
  • @Rehman arr[1] 不是第一行......它是第二行。在 java 中,数组是从零开始的
  • 您可以提供所有需要的上下文,并指出您需要帮助的地方。目前,我们无法真正说出您拥有什么或需要什么。

标签: java arrays multidimensional-array


【解决方案1】:

只需使用语法array[row][col];

例如读取第一行的所有元素:

int array[][] = ...

for (int x : array[0]) {
   // Loop through element of first row
}

或者获取第二行的第三个元素

int x = array[1][2];

显然你也可以用变量(最终是方法的参数)来做到这一点:

int row = 1;
int column = 2;

int x = array[row][column];

【讨论】:

  • 这并不能真正帮助OP成为一个更好的学生。他应该先自己尝试。
  • 这是语法问题,不是概念问题,所以如果在这里找不到他可以通过其他方式找到。这不是解决问题的方法。
  • @MarounMaroun 我什至不知道该尝试什么。 OP 可以判断某事是否有用。
【解决方案2】:
int x = rows;
int y = cols;
int[][] = new int[rows][cols];

然后,要访问某一行,只需用该行的索引值填充第一对括号。请记住 Java 使用基于 0 的索引,5 行将编号为 0-4。

System.out.println("The value for the 3rd column in the 2nd row is: " + matrix[2-1][3-1]);

我故意使用 2-1 和 3-1,因为索引是从零开始的。所以,第二行实际上是第一行,第三列是第二个条目。

【讨论】:

    【解决方案3】:
    public boolean checkIfAscending(int array[][],int rowNumber){
        int row[] = array[rowNumber];
        for(int i = 0; i < row.length-1; i++){
            if(row[i] > row[i+1]){
                return false;
            }
        }
        return true;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-03
      • 2011-04-13
      • 1970-01-01
      • 2011-12-29
      • 2013-02-25
      相关资源
      最近更新 更多