如何从二维数组中只打印一列?

时间:2015-02-03 18:59:09

标签: java arrays

我有这个程序即时写作,我必须打印一个二维数组的一列,而不是两个。

for (int i = 0; i < sjf.length; i++)
{
    for(int j = 0; j < sjf[i].length; j++)
    {
        System.out.printf("%5d%4s   ", sjf[i][j], "|");
    }
    System.out.println();
}
System.out.println();

6 个答案:

答案 0 :(得分:1)

这就是你需要的东西:

int j = <column_nr>;
for (int i = 0; i < sjf.length; i++)
        {
                System.out.printf("%5d%4s   ", sjf[i][j], "|");
            System.out.println();
        }
        System.out.println();

答案 1 :(得分:1)

只是不要使用内部for循环。

int colToPrint = 1;
for (int i = 0; i < sjf.length; i++)
{
    System.out.printf("%5d%4s   ", sjf[i][colToPrint], "|");
    System.out.println();
}

这里我打印了第二列,即索引为1。

答案 2 :(得分:1)

例如,您要打印第五列:

int column = 5;
for (int[] row : sjf) {
       System.out.printf("%5d%4s   ", row[column], "|");
}
System.out.println();

答案 3 :(得分:0)

这是你想要的吗? 以数组sjf为例             int sjf [] [] = {{1,3,5},{5,7,7}};

        for(int i = 0; i < sjf.length; i++){
            for(int j = 0; j < sjf[i].length; j++)
            {
                System.out.printf("%5d%4s   \n", sjf[i][j], "|");
            }
            //System.out.println();
        }
        System.out.println();

输出

1   |   
3   |   
5   |   
5   |   
7   |   
7   |   

答案 4 :(得分:0)

for (int i = 0; i < sjf.length; i++)
    {
        for(int j = 0; j < sjf[i].length; j++)
        {
            if(j==1)//in case second column is printed out
               System.out.printf("%5d%4s   ", sjf[i][j], "|");
        }
        System.out.println();
    }
    System.out.println();

答案 5 :(得分:0)

使用了高级for循环:

    // local variable to hold the column we wish to print       
    int colToPrint = 2;
    for (int row : sjf[colToPrint-1]) {
        System.out.printf("%5d%4s%n", row, "|");
    }