爪哇。从矩阵(数组)中删除一行

胡安·埃尔南德斯

好的,所以我在朋友的帮助下编写了这段代码来“删除矩阵的行”,但我真的不明白“for”是怎么回事,有人可以向我解释为什么这样做吗?

编辑:好的,所以我不明白的是两个循环的工作方式

public static double [][] removeRow(double [][] m , int n){                             

    double [][] finalm = new double [m.length-1][m[0].length];  

    for (int i = 0; i<finalm.length; i++) {                     

        for (int j = 0; j<finalm[i].length; j++) {              

                if (i<n) {                                      
                    finalm[i][j]=m[i][j];                       
                }
                if (i>=n) {                                     
                    finalm[i][j]=m[i+1][j];                     
                }
            }
        }

    return finalm;
}

public static void main(String[] args) {

    double [][] m = {{1,2,3},{1,9,2},{0,6,3}};
    double [][] result = removeRow(m,0);

    for (int i = 0; i<result.length; i++) {

        for (int j = 0; j<result[i].length; j++) {
            System.out.println(result[i][j]);
                }
            }
        }
}
格洛杰特

图片Array

0, 0, 0, 0
1, 1, 1, 1
2, 2, 2, 2   <----- n
3, 3, 3, 3

n2在哪里

该方法构造一个空Array行,少一行:

0, 0, 0, 0
0, 0, 0, 0
0, 0, 0, 0

然后它为每个循环循环,如果索引小于n,则将其复制到第二个Array所以第一行和第二行将被复制:

0, 0, 0, 0
1, 1, 1, 1
0, 0, 0, 0

然后,如果索引等于或大于n,它将从索引 + 1 复制行到第二个Array

//Skips the row 2, 2, 2, 2
0, 0, 0, 0
1, 1, 1, 1
3, 3, 3, 3

另请注意,由于我们正在复制整行,因此不需要内部循环。我们可以简单地做:

public static double [][] removeRow(double [][] m , int n){ 
    double [][] finalm = new double [m.length-1][m[0].length];  

    for (int i = 0; i<finalm.length; i++) {                     
          if (i<n) {                                      
              finalm[i]=m[i];                       
          }
          if (i>=n) {                                     
              finalm[i]=m[i+1];                     
          }
    }
    return finalm;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在MATLAB中从矩阵删除第一行的最佳方法

来自分类Dev

从C中的双指针数组中删除一行?

来自分类Dev

使用matlab从我的数组中删除一行

来自分类Dev

numpy从多维数组中删除一行

来自分类Dev

如何从mongoDB集合的数组中删除一行

来自分类Dev

在矩阵中插入一行和一行

来自分类Dev

查询矩阵中的一行

来自分类Dev

计算矩阵中的唯一行

来自分类Dev

在文件中写一行矩阵

来自分类Dev

在矩阵中打印唯一行

来自分类Dev

如何在pytorch中对矩阵的每一行中的值进行重复数据删除?

来自分类Dev

读取一行并从文件中的矩阵中删除空格

来自分类Dev

比较数组与矩阵中的每一行(列数可能不同)

来自分类Dev

Python Numpy将旋转矩阵应用于数组中的每一行

来自分类Dev

将矩阵每一行的和保存到数组中

来自分类Dev

如何从2D numpy数组中删除第一行和最后一行?

来自分类Dev

返回二维数组中的列数/最长行并删除一行

来自分类Dev

爪哇8流min()和anyMatch()(或某物像)在一行中

来自分类Dev

如何从C中的2D数组中删除一行?

来自分类Dev

如何从C中的2D数组中删除一行?

来自分类Dev

在numpy rearray中删除一行

来自分类Dev

Qt从文件中删除一行

来自分类Dev

从解析表中删除一行

来自分类Dev

删除表中的一行

来自分类Dev

从文件中删除一行代码

来自分类Dev

删除文件中的一行

来自分类Dev

删除组中的最后一行

来自分类Dev

在WordPress中删除一行JavaScript

来自分类Dev

从sqlite表中删除一行