计算已完成的数独板的行和列

时间:2012-02-16 09:50:09

标签: java rows sudoku

所以我试着计算一个已完成的数独板的输入文件有多少行和列。我想出了这个循环

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&amp; 81.所以有人可以帮我找出计算列的正确方法,以确保有9个。或者最好开始比较行和列的值,看看是否有任何重复(1-9)在使用中,错误检查是否有正确的行数和列数?

1 个答案:

答案 0 :(得分:1)

尝试:

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