我正在尝试打印出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
我已经尝试过注释掉的方法,但它们也无法正常工作。
有什么建议吗?感谢
答案 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();