数独算法 java_Java 编写数独计算器

数独不但可以锻炼逻辑推理能力,也比较好玩,非常容易上手,作为程序员,怎么可能不想编写一个数独游戏来一探数独的算法呢。实验楼上线项目教程——【Java 编写数独计算器】,就是带你编写数独计算器的。

项目简介:

该项目使用Java实现数独游戏的核心算法,在感受数独的魅力中通过Java编写桌面程序完成数独计算器,完成对Java基础知识点的学习和巩固。

效果图:

9e55896f8d8a

效果图

项目开发:

编写数独核心算法—— Calculate 类

Calculate 类是本算法中最重要的部分,为了便于使用,很多函数和变量都声明为静态的。在类中,我们将完成数独空格的填充和计算。

Calculate 中所有的成员:

class Calculate implements Runnale{

public static boolean[][] boo = new boolean[9][9];

public static int upRow = 0;

public static int upColumn = 0;

public static int[][] b = new int[9][9];

public static void flyBack(boolean[][] judge,int row,int column){}

public static void arrayAdd(ArrayList array,TreeSet tree){}

public static ArrayList assume(int row,int column){}

public void run(){}

}

分析:

二维数组 boo 用于判断该格是否为空,如果已经填入了数值,就不用再填了。

二维数据 b 将存储九宫格中的数据,

flyBack 函数用于查找没有填入数值的空格,

arrayAdd 函数添加新的数值(1~9)到一行中,如果数据已经有了,跳过,没有就继续赋值。

assume 函数将大九宫格分成9个小九宫格,主要是判断在同行同列同一个小九宫格内哪些数值已经被填充了,添加该格备选的数值,就是候选法的思想。

run 函数开始运行整个程序,生成最后的结果。

至于具体的函数的编写,点击【Java 编写数独计算器】即可查看了~

编写界面

由于我们开发的是9宫格数独,所以需要九个 TextField 外加两个 button 控件。

关于具体的界面编写,点击【Java 编写数独计算器】即可查看了~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值