私の書式設定がゴミであれば申し訳ありません。 私は2つの文字列とブール値をarrayListに次のように追加しようとしています。java:NoSuchElementException:arrayListへの読み込み
while((in.hasNextLine())){
list.add(new Task(in.next(),in.next(), in.hasNextBoolean()));
}
私はそのような要素の例外が発生し続ける。 whileループを離れて取る場合
list.add(new Task(in.next(),in.next(), in.hasNextBoolean()));
これはうまく機能しますが、テキストファイルの最初の行だけを追加できます。 ループまたはスキャナに何か問題がありますか?
try {
in = new Scanner(f1);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
while((in.hasNextLine())){
list.add(new Task(in.next(),in.next(), in.hasNextBoolean()));
}
f1は、ファイルf1 = new File( "src/mylist.txt")として宣言されています。
助けがあれば助かります。ありがとう!
'in.next()、in.next()、in.hasNextBoolean()'これはどう思いますか? – Satya
申し訳ありませんが、私はあなたが何を求めているのかよく分かりません。 –
'hasNextBoolean()'はブール値を消費しません。 ---最後の 'next()'(または 'nextBoolean()')の呼び出しの後でも、 "cursor"はまだ行末にあるので、最後の行が改行で終わると、 'hasNextLine '要素がなくてもtrueを返します。 --- 'Scanner 'を使って3つの値の行を読むのは、*非常に*エラーが起こりやすいです。もっと制御された解析のために、 'BufferedReader'、' readLine() '、' split() 'を使うことを提案してください。 – Andreas