在java中打印出2d数组元素

时间:2013-05-28 10:16:46

标签: java

我正在尝试打印出2d数组中的元素,但似乎无法格式化它。任何时候我尝试格式化它我都会收到错误

    String [][] plants = new String[2][2];
    plants[0][0] = "Rose";
    plants[0][1] = "Red";
    plants[1][0] = "Snowdrop";
    plants[1][1] = "White";

    //String plant;
    //String color;
    for (int i = 0; i<2; i++){
    for (int j = 0; j<2; j++){

        //plant = Arrays.toString(plants[i]);
        //color = Arrays.deepToString(plants[j]);
        //System.out.println(plant + " " + color);
        System.out.println(plants[i][j]);

    }
    }

我到目前为止打印出的每个元素都在单独的一行上,但我希望它打印出来像:

玫瑰红

Snowdrop White

我已经尝试过注释掉的方法,但它们也无法正常工作。

有什么建议吗?感谢

9 个答案:

答案 0 :(得分:5)

在内循环中执行System.out.print(plants[i][j] + " ");

在外圈做System.out.println();

答案 1 :(得分:3)

你的for循环应该如下所示:

for(int i = 0; i < plants.length; i++)
{
    for(int j = 0; j < plants[i].length; j++)
    {
        System.out.print(plants[i][j]);
        if(j < plants[i].length - 1) System.out.print(" ");
    }
    System.out.println();
}

答案 2 :(得分:1)

for (int i = 0; i<2; i++){
    for (int j = 0; j<2; j++){

        System.out.print(plants[i][j]);

    }
     System.out.println();
}

但是你最好每次使用迭代数组。

答案 3 :(得分:1)

for (int i = 0; i<2; i++){
    System.out.println(plants[i][0] + " " + plants[i][1]);
}

答案 4 :(得分:1)

试试这个:

 for (int i = 0; i<2; i++){  

        System.out.println(plants[i][0] + " " + plants[i][1]);

    }

答案 5 :(得分:1)

您只需要一个循环:

for (int i = 0; i<2; i++)
{
    System.out.println(plants[i][0] + ' ' + plants[i][1]);
}

答案 6 :(得分:1)

主要问题在于System.out.println(plants[i][j]);
打印字符串“Rose”后,它将自动转到下一行....... 您可以在内部块中使用简单的print而不是println,这会将光标保持在同一行而不是转到下一行......

for(int i=0;i<2;i++)
{
    for(int j=0;j<2;j++)
    { 
        System.out.print(plants[i][j]);    
    }  
    System.out.println();  
}

答案 7 :(得分:0)

for (int i = 0; i<2; i++) {
    System.out.println(plants[i][0] + " " + plants[i][1]);
}

答案 8 :(得分:0)

在内部循环中,您应该使用

System.out.print(plants [i] [j]);

在外循环中,您应该使用 System.out.println();