(java) 如何使用 for each 循环遍历 double[][] 二维数组?

(java) How to iterate over double[][] 2d array using for each loop?

for (double[] row: array) {
    for (double x: row) {
        for (double[] col: array) {
            for (double y: col) {
                System.out.println(array[x][y]);
            }
        }
    }
}

从我的 code.When 中提取 我在终端编译时收到“不兼容的类型:从 double 到 int 的可能有损转换。我正在尝试将 double[][] 作为矩阵打印出来。

我需要在每个循环中使用 afor 我知道索引必须是整数,但是当我不能将双精度数转换为整数时,我如何确保它们是整数?

A for each 循环遍历值,而不是索引。而且,你只需要两个嵌套循环。

final double[][] array = {{1, 2}, {3, 4}, {5, 6}};
for (double[] row: array) {
    for (double element: row) {
        System.out.println(element);
    }
}

你可以这样做:

// first iterate each row
for (double[] rows : array) {
    // then for that row, print each value.
    for (double v : rows) {
        System.out.print(v + "  ");
    }
    // print new line after each row
    System.out.println();
}

为了

double[][] a = new double[][] { { 1,2,3 }, {4,5,6 }, { 7,8,9 } };

版画

1.0  2.0  3.0  
4.0  5.0  6.0  
7.0  8.0  9.0  

这是遍历二维数组的正确方法

for (double [] row : array) {
    for (double value : row) {
        System.out.println(value);
    }
}