2012-04-25 188 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) 
}