2013-08-22 69 views
-2

如何在Java中以特定方式打印ArrayList的內容? 例如:如何以特定方式打印ArrayList的內容?

System.out.println("A  B"); 
System.out.println("100  100"); 
System.out.println("200  200"); 
System.out.println("300  300"); 

我該如何使用ArrayList來做到這一點?

我寫這樣的數組列表:

ArrayList mathChoices = new ArrayList(3); 
mathChoices.add("100"); 
mathChoices.add("200"); 
mathChoices.add("300"); 

ArrayList historyChoices = new ArrayList(3); 
historyChoices.add("100"); 
historyChoices.add("200"); 
historyChoices.add("300"); 

而且它打印出這樣的:

Math  History 
[100, 200, 300] [100, 200, 300] 

我想打印出「數學」,然後「歷史」與垂直列每個詞下100,200,300。 它應該像遊戲節目Jeopardy中的問題。

+6

請儘量多寫一個清晰明確的問題。請同時顯示您嘗試過的內容,並解釋一下它是如何工作的。 –

+0

@HovercraftFullOfEels我編輯它 – jason

+0

****我已編輯它**** – jason

回答

1

我同意的意見,所以這裏是更新的答案:

System.out.println(String.format("%-20s %s" , "Mathematics", "History")); 

for (int i = 0; i<3; i++) 
{ 
    System.out.println(String.format("%-20s %s" , mathChoices.get(i), historyChoices.get(i)));  
} 

輸出將按照您的要求。

+2

'\ t'將適用於這種情況,但對於更常見的情況,可能會有更長的標題,如「數學」而不是「數學」,最好使用「System.out.printf」或「System.out.format」就像在[這個例子](http://stackoverflow.com/a/14654382/1393766) – Pshemo

+0

是的,同意@Pshemo - 標籤絕對不是這樣做的方式。此外,我們不要爲他編寫OP的代碼,而是引導他提出建議。 –

+0

我完全同意,我的錯誤。 即使它在這種情況下會起作用,但它是學習它的錯誤方法。答案已更新。 – Jiddle