数独检查Java

时间:2013-04-22 21:13:59

标签: java sudoku solver

我对我正在编写的代码遇到的问题有疑问。我需要创建一个Sudoku棋盘检查器。目标是通过使用我必须使用的5个特定方法来扩展Sudoku类(以生成CheckableSudoku类),使用public boolean checkAll()来检查所有方法,如果它们通过则返回true。继承我的代码!对不起,如果我太容易混淆地解释这个:/

import java.util.Scanner;
public class CheckableSudoku extends Sudoku
{
    public int getCell(int xColumn, int yRow)
    {
        return this.board[xColumn][yRow];
    }

    public boolean checkRow (int yCoord)
    {
        int sum = 0;

        for ( int x = 0; x <9; x++)
        {
            sum = sum + getCell (x,yCoord);
        }
    return( true );
    }

    public boolean checkColumn (int xCoord)
    {
        int sum = 0;
        for (int y = 0; y < 9 ;y++)
        {
            sum = sum + getCell (xCoord, y);
        }
        return( true );
    }

    public boolean checkBlock (int col0to2, int row0to2)
    {
        int sum = 0;
        for (int x=0; x<3; x++)
        {
            for (int y=0; y<3;y++)
            {
                sum = sum + getCell (col0to2+x, row0to2+y);
            }
        }
        return( true);
    }

    public boolean checkAll()
    {
    // this is the method that checks all the other methods above
    return true;
    }

    public static void main(String[] a)
    {
        CheckableSudoku me = new CheckableSudoku();
        Scanner sc = new Scanner(System.in);
        me.read(sc);
        System.out.print(me);

        System.out.println(me.checkAll());
    }
}

1 个答案:

答案 0 :(得分:3)

以下是一个关于如何检查它们是否都返回true的示例:

public boolean checkAll() {
    return (method1() && method2() && method3() && method4() && method5());
}

OR:

// Same thing but more typing.
public boolean checkAll() {
    if (method1() && method2() && method3() && method4() && method5())
         return true;
    else 
         return false;
}

到目前为止,你所有的方法似乎都回归真实。不确定它只是一个例子。如果没有,你需要检查你的逻辑。