Я читаю текстовый файл, чтобы получить первый Int, который используется для установки размеров сетки, а затем он должен прочитать серию строк целых чисел, чтобы заполнить эту сетку.Я получаю InputMismatchException на третьей строке чисел.Как мне заставить его правильно читать числа?
class Grid {
protected int rows;// number of grid rows
protected int cols;// number of grid columns
protected boolean[][] grid;// the grid containing blobs
boolean[][] visited;// used by blobCount
public Grid(String fileName) throws FileNotFoundException {
//reading file using scanner
Scanner sc = new Scanner(new File(fileName));
//first number is the dimension for rows
this.rows = sc.nextInt();
//since it is square matrix second dimension is same as first
this.cols = this.rows;
grid = new boolean[rows][cols];
for (int i = 0; i < rows; i++)
for (int j = 0; j < cols; j++) {
//reading from file 1 and 0 if 1 then store true else store false in grid
int number = sc.nextInt();
if (number == 1 )
grid[i][j] = true;
else
grid[i][j] = false;
}
}
public class BlobCountCF {
public static void main(String[] args) throws FileNotFoundException {
Scanner input = new Scanner(System.in);
System.out.println("Enter filename: ");
String fileName = input.nextLine();
Grid grid = new Grid(fileName);
// display grid and blob count
System.out.println(grid);
System.out.println("\nThere are " + grid.blobCount() + " blobs.\n");
}
}
В итоге мне нужно отобразить сетку (15 строк по 15 чисел), а затем подсчитать количество капель.Файл содержит число 15 в первой строке, пустую строку, затем 15 строк из 15 1 и 0.Я полагаю, что он пытается прочитать каждую строку как одно целое, но я не уверен, что это так.