2012-04-25 115 views
1

我需要一些帮助在这个数组显示输出,但它似乎不工作,我期望。在阵列输出需要帮助

public static void main(String[] args){ 


      String[][] record = { 
       {"abc","123","cbv"}, 
       {"efg","456","cbb"}, 
       {"hij","321","ggb"}, 
       {"xyz","A4","ghy"}}; 


      for (int i=0;i<4;i++){ 
       for (int j=0;j<3;j++) 
       System.out.println(record[i][j]); 

输出显示:

abc 
123 
cbv 
efg 
456 
cbb 
hij 
321 
ggb 
xyz 
A4 
ghy 

我需要输出到显示为:

abc 123 cbv 
efg 456 ccb 
hij 321 ggb 
xyz A4 ghy 

回答

4

你应该这样做:

for (int i=0;i<4;i++) { 
    for (int j=0;j<3;j++) { 
     System.out.print(record[i][j] + " "); // print instead of println 
    } 
    System.out.println();      // println (new row) 
} 

(内环其打印一行中的元素不应该打印换行符。)

,或者甚至更好,使用System.out.printf以确保所有元素都是等宽(这个例子也使用每个循环):

for (String[] row : record) { 
    for (String element : row) 
     System.out.printf("%5s", element); 
    System.out.println(); 
} 

输出:

abc 123 cbv 
    efg 456 cbb 
    hij 321 ggb 
    xyz A4 ghy 
+0

感谢您的回复。我试过了,它效果很好! – user1342633 2012-04-25 19:02:32

+0

不客气......如果问题的答案解决了您的问题,请考虑通过点击复选标记来将答案标记为已接受。 – aioobe 2012-04-25 19:57:10

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

应该这样做。

0
for (int i=0;i<4;i++) { 
for (int j=0;j<3;j++) { 
    System.out.print(record[i][j] + " "); // print instead of println 

} 
System.out.println();      // println (new row) 
}