在java中获取dienantion数组的角点值

在java中获取dienantion数组的角点值,java,android,arrays,if-statement,Java,Android,Arrays,If Statement,我有一个从1到25的整数维数组,它有5列5行,下面的代码将打印交叉值,它们是1,7,13,19,25 public static void main(String[] args) { int w[][] = {{ 1, 2, 3, 4, 5}, { 6, 7, 8, 9,10}, {11,12,13,14,15}, {16,17,18,19,20},

我有一个从1到25的整数维数组,它有5列5行,下面的代码将打印交叉值,它们是1,7,13,19,25

public static void main(String[] args) {

    int w[][] = {{ 1, 2, 3, 4, 5},
                 { 6, 7, 8, 9,10},
                 {11,12,13,14,15},
                 {16,17,18,19,20},
                 {21,22,23,24,25}};


    for(int i = 0 ;i< w.length ; i++){
        System.out.println("\n");
        for(int j=0; j< w.length ;j++)
            if(i== j){
        System.out.print(w[i][j]+"\t"); }}


}
publicstaticvoidmain(字符串[]args){
int w[][]={{1,2,3,4,5},
{ 6, 7, 8, 9,10},
{11,12,13,14,15},
{16,17,18,19,20},
{21,22,23,24,25}};
对于(int i=0;i
我需要一种方法来打印
1,7,13,19,25
交叉线以下的值,该值将在任意数量的行和列中工作,这意味着将在我的数组中打印
6,11,12,16,17,18,21,22,23,24
,我该怎么做

请参见下面要打印的值:


首先,要打印交叉线,不需要两个循环。如果只想在i=j时打印,只需进行一个循环:

 for(int i = 0 ;i< w.length ; i++)
     System.out.print(w[i][i]+"\t");  // Prints [1,1], [2,2] etc.
for(int i=0;i
对于第二个任务,您需要两个循环—一个循环行,另一个循环行中的列:

 for(int i = 0 ;i< w.length ; i++)
    for(int j=0; j<i; j++)            // Loop each row to the middle -1
     System.out.print(w[i][j]+"\t");  //This should do what you want ;)
for(int i=0;i对于(int j=0;j,这里是修改后的主要方法:

    public static void main(String[] args) {

    int w[][] = {
     {1,2,3,4,5},
     {6,7,8,9,10},
     {11,12,13,14,15}
    ,{16,17,18,19,20}
    ,{21,22,23,24,25}};

    for(int i = 0 ;i< w.length ; i++){
        System.out.println("\n");
        for(int j=0; j< w.length ;j++)
            if(i!=0&&i== j){

                for(int k=0;k<j;k++){
                    System.out.print(w[i][k]+"\t"); 

                }
            }
    }
}

试着找出你想要打印的数字的所有索引中的共同模式我得到这个结果,但我需要结果它将是6,11,12,16,17,18,21,22,23,24是的,解决方案仍然是一样的,适用于任何NxN数组。你能以我认为简单的方式得到解决方案吗?非常简单;)2行
6   

11  12  

16  17  18  

21  22  23  24