Java 编写数独计算器

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

项目简介:

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

效果图:

Java 编写数独计算器_第1张图片
效果图

项目开发:

编写数独核心算法—— 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 编写数独计算器】即可查看了~

你可能感兴趣的:(Java 编写数独计算器)