2013-02-13 182 views
0

考慮字符串格式化

List<String> explanationsteps = new ArrayList<String>(); 
    explanationsteps.add("The prime factorization for each number is "); 

當我SYSOUT字符串看起來是這樣的:

[The prime factorization for each number is] 

因爲數組類型的,我想在一個本地字符串變量來存儲在那裏我可以得到簡單的輸出,如:

The prime factorization for each number is 

沒有方括號。

回答

2

做這樣

explanationsteps.get(0).toString(); 

這是因爲你正在使用其中toString方法重載顯示列表的內容集合。如果你有一個以上的字符串中它,然後它會一直
[sentence 1, sentence 2, sentence 3]

如果你願意,你可以使用字符串數組

String[] explanationsteps = new String[100]; //size say 100 (as per your requirement) 
explanationsteps[0] = "your sentence"; 
+0

它的作品。但是當繼續添加諸如explainationsteps.add(「a」)的包含時會發生什麼? explanationsteps.add( 「B」);儘管添加可能取決於條件。我的意思是它的動態添加和使用只有得到(0)將返回我只有0索引..? – ASUR 2013-02-13 08:05:13

+0

是的。你是對的。你只會得到第一個元素。這就是你描述你想要你的代碼做什麼的方式。如果你想要其他東西請描述。 – ATrubka 2013-02-13 08:06:50

+0

謝謝先生您的回覆我明白了.. – ASUR 2013-02-13 08:15:00

1

貌似你在做的ArrayList的toString() 。 因此,您將獲得整個列表的toString()而不是1個元素。同樣,如果列表中有多個元素,它們將全部列在方括號內。不知道你最終想要什麼。

爲了打印字符串,因爲它只是這樣做:

explanationsteps.get(0).toString(); 
+0

是的,我正在做toString()。 – ASUR 2013-02-13 07:59:21

+0

你必須在元素上做,而不是在列表上。 – ATrubka 2013-02-13 07:59:59

+0

你可能在做explainationsteps.toString(),而不是你必須做explainationsteps.get(0).toString()。 – ATrubka 2013-02-13 08:00:20

0

您可能正在使用此;

System.out.println(explanationsteps); 

但是,你必須嘗試這個獲得你想要的輸出;

System.out.println(explanationsteps.get(0));