1

我正在尝试打印二维数组中的元素,但似乎无法格式化它。每当我尝试对其进行格式化时,都会出现错误

    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]);

    }
    }

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

玫瑰红

雪莲白

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

有什么建议么?谢谢

4

9 回答 9

5

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

在外循环做System.out.println();

于 2013-05-28T10:19:14.493 回答
4

您的 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();
}
于 2013-05-28T10:19:07.867 回答
2
for (int i = 0; i<2; i++){
    System.out.println(plants[i][0] + " " + plants[i][1]);
}
于 2013-05-28T10:20:15.600 回答
2

Try this:

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

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

    }
于 2013-05-28T10:20:17.493 回答
1

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

for(int i=0;i<2;i++)
{
    for(int j=0;j<2;j++)
    { 
        System.out.print(plants[i][j]);    
    }  
    System.out.println();  
}
于 2013-12-22T04:56:57.727 回答
1

You need only one loop:

for (int i = 0; i<2; i++)
{
    System.out.println(plants[i][0] + ' ' + plants[i][1]);
}
于 2013-05-28T10:20:18.020 回答
1
for (int i = 0; i<2; i++){
    for (int j = 0; j<2; j++){

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

    }
     System.out.println();
}

但是,您最好使用 for each 来遍历数组。

于 2013-05-28T10:19:18.017 回答
0
for (int i = 0; i<2; i++) {
    System.out.println(plants[i][0] + " " + plants[i][1]);
}
于 2013-05-28T10:21:59.447 回答
0

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

System.out.print(植物[i][j]);

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

于 2018-12-04T12:23:44.517 回答