StringTokenizer
結果をArrayList
にします。私は次のコードを使用し、最初の印刷ステートメントでは、stok.nextToken()
正しい値を印刷します。しかし、ArrayListの2番目のprint文では、エラーがjava.util.NoSuchElementException
と表示されます。 これらの結果をArrayListにどのように取り込みますか?StringTokenizerの結果をJavaのArrayListに取り込む方法は?
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.StringTokenizer;
public class Test {
public static void main(String[] args) throws java.io.IOException {
ArrayList<String> myArray = new ArrayList<String>();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter : ");
String s = br.readLine();
StringTokenizer stok = new StringTokenizer(s, "><");
while (stok.hasMoreTokens())
System.out.println(stok.nextToken());
// -------until now ok
myArray.add(stok.nextToken()); //------------???????????
System.out.println(myArray);
}
}
あなたの 'while'ステートメントを見てください。実行がループを終了すると、それは 'stok'の意味ですか? – Savior
お返事ありがとうございました。では、この結果をArrayListにどのように取り込むのですか? – Emalka
'stok'はwhileループによって完全に読み込まれているので、ループが完了した後に' nextToken() 'を呼び出すともちろん、(end-of-data)エラーがスローされます。ループの中で 'add()'を呼び出すつもりでしたか?もしそうなら、あなたは{中括弧}をいくつか欠いています。そうでなければ、あなたは何をしようとしていますか?質問を編集して説明してください。 – Andreas