我試圖用分隔符(「#」)打印出一個字符串的元素,其中#是分隔元素的字符。我的代碼如下(電影是正在打印的字符串):字符串錯誤地分割
String[] tokens = movies.split("#");
for (int i = 0; i < tokens.length; i++){
System.out.println(tokens[i]);
}
這裏是電影的內容:
1 Skyfall#2 The Impossible#
這裏就是BEING打印的內容:
1 Skyfall
2 The Impossible
2
如果我修改代碼因此它循環(tokens.length - 1)次而不是tokens.length,這是打印的:
1 Skyfall
2
下面是使字符串存儲在電影中的方法。這使用一個LinkedList。 lineNumbers在這種情況下是正確的。 numItems是LinkedList中Listnode < String>(又名電影)的數量。
String list = "";
int pos = 0;
ListNode node = head;
if (numItems == 0){
return "Empty";
}
while (pos < numItems){
if (lineNumbers){
list += (pos + 1) + " ";
}
list += node.getData() + "#";
pos++;
if (pos < numItems){
node = node.getNext();
}
}
return list;
我不明白爲什麼它打印的是額外的數字。誰能幫忙?
打印標記的長度,以獲得answser。 – 2013-03-13 05:30:10
你認爲電影的內容不是正在運行的內容。 'split'工作正常,它按照你的預期分裂它。 – Makoto 2013-03-13 05:32:53
什麼是ineNumbers? – smk 2013-03-13 05:33:03