InputMismatchException при использовании nextInt - PullRequest
0 голосов
/ 01 мая 2019

Я читаю текстовый файл, чтобы получить первый 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.Я полагаю, что он пытается прочитать каждую строку как одно целое, но я не уверен, что это так.

...