Подсчет строк и столбцов заполненной доски судоку - PullRequest
0 голосов
/ 16 февраля 2012

Поэтому я пытаюсь подсчитать, сколько строк и столбцов содержит входной файл заполненной доски судоку.Я придумал этот цикл

public static Pair<Integer, Integer> rowColumnCount(Scanner input1){
    int nrows=0;
    int ncolumns=0;


   while(input1.hasNextLine()){

       while(input1.hasNextInt()){
           input1.nextInt();
           ncolumns++;
       }

        input1.nextLine();
        nrows++;
    }

    System.out.print("Rows: " +nrows + "\n");
    System.out.print("Columns: " +ncolumns + "\n");

    return new Pair<Integer, Integer>(nrows, ncolumns);

    }//end rowCoulmnCount

Мне пришла в голову идея сделать этот метод из предыдущего метода, в котором я прочитал и создал массив входного файла платы судоку.Я полагал, что эти два метода были бы похожи, но это не так ... результат nrws и ncolumns - это 1 и 81. Поэтому кто-то может помочь мне найти правильный способ подсчета столбцов, чтобы убедиться, что их 9. Илилучше начать сравнивать значения строк и столбцов, чтобы увидеть, есть ли какие-либо дубликаты (от 1 до 9), которые используют эту проверку на наличие ошибок, чтобы увидеть, есть ли правильное количество строк и столбцов?

1 Ответ

1 голос
/ 16 февраля 2012

попробуй:

public static Pair<Integer, Integer> rowColumnCount(Scanner input1){
    int nrows=0;
    int ncolumns=0;


   while(input1.hasNextLine()){
       Scanner subinput1 = new Scanner(input1.nextLine());
       while(subinput1.hasNextInt()){
           subinput1.nextInt();
           ncolumns++;
       }

        nrows++;
    }

    System.out.print("Rows: " +nrows + "\n");
    System.out.print("Columns: " +ncolumns + "\n");

    return new Pair<Integer, Integer>(nrows, ncolumns);

    }//end rowCoulmnCount
...