こんにちは、私はスキャナを使用してinput.txtファイルを読み込もうとしていますが、入力ミスマッチの例外が発生し続けています。私が読んでいるファイルは次のように書式化されています。最初は配列サイズを識別する単一の数字です。次の行は、コンマで区切られた整数のリストです。これは私が持っているものですが、それが読み込まれている最初の整数に失敗:スキャナを使用しているときにJava MisMatchExceptionが発生しましたが、なぜですか?
File inputFile = new File("input.txt");
Scanner scan = new Scanner(inputFile);
int arraySize = scan.nextInt();
scan.nextLine();
int[] array = new int[arraySize];
for (int i = 0; i < arraySize; i++) {
array[i] = scan.nextInt();
}
私も、私はおそらく、それぞれint型の後にカンマをキャッチするためにそこに何かを必要とすると思います。たぶんscan.next( "、")?最初のカンマの前には失敗しています。
ありがとうございます!
EDIT:例えば、入力ファイル:
5
-1, -2, -3 , -4, -5
入力ファイル、または少なくとも初めを投稿することができますか?コンマについては、[Javaで文字列を分割する方法](http://stackoverflow.com/questions/3481828/how-to-split-a-string-in-java)を参照してください。 – bradimus
あなたの 'scan.nextLine'の後にカンマを無視し、次の入力を取得するときにすべてのintを中間で使用する' scan.useDelimeter( "、") 'を使用してください。 – Zircon
私はサンプル入力ファイルを投稿しました。デバッグでは、最初のコンマの前にエラーが発生していることがわかりました。コンマ区切りで追加しても、最初の値は渡されません。 – user6287161