Java 如何在二维数组中迭代槽行和槽列?

Java 如何在二维数组中迭代槽行和槽列?,java,for-loop,matrix,Java,For Loop,Matrix,我有一个2D数组,我想找到每行和每列的最小值。但是,例如:假设我有一个5x5对称矩阵,比如 int matrix [ ][ ] = { { 0, 8, 3, 7, 10 }, { 8, 0, 5, 9, 4 }, { 3, 5, 0, 6, 7 }, { 7, 9, 6, 0, 9 }, { 10, 4, 7, 9, 0 } } 如果我从第2行开始,我应该迭代8,0,5,9,4,并且我应该打印数字4,因为它是最小值(我不考虑0),那么我应该开始迭代我离开或结束的列。所以我应该再次开始迭代,但

我有一个2D数组,我想找到每行和每列的最小值。但是,例如:假设我有一个5x5对称矩阵,比如

int matrix [ ][ ] = 
{ { 0, 8, 3, 7, 10 },
{ 8, 0, 5, 9, 4 },
{ 3, 5, 0, 6, 7 },
{ 7, 9, 6, 0, 9 },
{ 10, 4, 7, 9, 0 } }
如果我从第2行开始,我应该迭代8,0,5,9,4,并且我应该打印数字4,因为它是最小值(我不考虑0),那么我应该开始迭代我离开或结束的列。所以我应该再次开始迭代,但从索引[4]开始,col将是10,4,7,9,0,最小col值将是7(不考虑之前的最小值是4和0),依此类推

我想我可以使用另一个嵌套的,将新索引作为循环的起点,但是我不知道如何返回到遍历行

int menor = matriz[1][0];
int i, j, indice = 0;

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

    if (menor > matriz[1][i] && matriz[1][i] != 0 || menor == 0) {
        menor = matriz[1][i];
        indice = i;
    }
    System.out.print("Elemento ubicado en " + i + " : ");
    System.out.println(matriz[1][i] + " ");

}
System.out.println();
System.out.println("Elemento menor es " + menor + " el cual esta ubicado: " + indice);
int menor=matriz[1][0];
int i,j,indice=0;
对于(i=0;imatriz[1][i]&&matriz[1][i]!=0 | | menor==0){
menor=matriz[1][i];
指数=i;
}
系统输出打印(“Elemento ubicado en”+i+“:”);
System.out.println(matriz[1][i]+“”);
}
System.out.println();
系统输出打印LN(“元素菜单”+menor+“元素菜单””);

我的最终输出应该是类似于4、7、3、7、9的内容,您描述的处理过程不清楚。为什么从第2行开始,然后转到第4列?为什么不在所有行上迭代,然后在所有列上迭代呢?这只是一个特定的情况。我只是想知道是否有可能做到这一点。我想做的事情是去行->列->行等等,直到没有更多的迭代。有没有不同的方法来进行比较?是的,最明显的方法是在所有行上迭代,然后在所有列上迭代。您描述的处理不清楚。为什么从第2行开始,然后转到第4列?为什么不在所有行上迭代,然后在所有列上迭代呢?这只是一个特定的情况。我只是想知道是否有可能做到这一点。我想做的事情是去行->列->行等等,直到没有更多的迭代。有没有其他方法来进行比较?是的,最明显的方法是迭代所有行,然后迭代所有列