split( "#")を使用して文字列の要素を出力しようとしています。#は要素を区切る文字です。私のコードは以下のとおりです(映画は印刷される文字列です):
String[] tokens = movies.split("#");
for (int i = 0; i < tokens.length; i++){
System.out.println(tokens[i]);
}
映画の内容は次のとおりです。
1 Skyfall#2 The Impossible#
印刷されるものは次のとおりです。
1 Skyfall
2 The Impossible
2
上記のコードを変更して、tokens.lengthの代わりに(tokens.length-1)回ループすると、次のように出力されます。
1 Skyfall
2
文字列をムービーに保存する方法は次のとおりです。これはLinkedListを使用します。この場合、lineNumbersはtrueです。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;
なぜその余分な数字を印刷しているのか理解できません。誰か助けてもらえますか?