私は数ヶ月の経験を持つ比較的新しいJavaプログラマです。JavaスキャナNextIntがテキストファイル内のすべての整数を出力しない
私は現在、対話型GUIを備えたDijkstraベースのパスファインダーを作成しているCollegeプロジェクトに取り組んでいます。私がこの部分で作業を始めるためには、まず、値を自分で入力することを常に必要とするのではなく、グラフ自体の無向重みを表すあらかじめ定義された隣接行列を読むことができるようにしたかったのです。
このため、問題のテキストファイルをすばやく読み取るためにスキャナと区切りパターンを使用することにしました。私の主な目標は、テキストファイル内の各値を取り出し、それを2D整数配列に追加して効率的にデータを利用できるようにすることです。
私の主な問題は、スキャナ自体がテキストファイル内の最初の3つの整数だけを読み込み、読み込みを停止してプログラムが終了することです。私のデリミタでは、うまく動作しているように見えるスペース文字( "")を使用していますが、問題の原因となっている行末と関係があると思いますか?
public static void readMatrixFromFile() throws IOException {
File file = new File("Matrix.txt"); //Instance of File with parameter of filename in default location.
Scanner myScan = new Scanner(file);
myScan.useDelimiter(" ");
while(myScan.hasNextInt()){ //Checks whether or not there is a next token within the Text file.
System.out.println(myScan.nextInt()); //Prints out next item within text file, with respect to Delimiter being ignored.
}
myScan.close(); //Safely closes Scanner.
}
多くのおかげで、
- マイケル
外部リンクを提供するのではなく、質問内にコードを含めるようにしてください。 – user2004685
あなたが提供するものがスクリーンダンプであれば、私たちは自分自身でこれをテストすると思いますか?実際のコードとデータを質問にコピー&ペーストしてください。実際のコードとテキストであり、イメージではありません。私たちはあなたの仕事を再入力するための忍耐を持っていません。 –
'useDelimeter'行を削除します – Michael