我试图用分隔符(“#”)打印出一个字符串的元素,其中#是分隔元素的字符。我的代码如下(电影是正在打印的字符串):字符串错误地分割
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