- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
完整的九宫格算法程序
package ninegrid;
import java.util.ArrayList;
import java.util.List;
/**
* 功能说明:九宫格功能实现bean
*
* @author ClarkJia
*
*/
public class NineGrid
{
protected Integer nineGrid[][] = new Integer[9][9]; //九宫格阵列图
protected Boolean existsGrid[][] = new Boolean[9][9];//九宫每个位置是否已经存在值
protected int x = 0; //当前填空点位x坐标
protected int y = 0; //当前填空点位y坐标
protected int times = 0;//计算次数统计
// 初始构造九宫格
public NineGrid(Integer[][] initData)
{
//ArrayUtils.cloneArray(nineGrid, initData);//复制原始九宫格
for (int i = 0; i 9; i++)
{
for (int j = 0; j 9; j++)
{
nineGrid[i][j] = initData[i][j];
if(nineGrid[i][j]0)
{
existsGrid[i][j] = true;
}
else
{
existsGrid[i][j] = false;
}
}
}
}
public NineGrid()
{
}
/**
* 查找可填充的合法的x,y值集
* @return
*/
public Integer[] getValidData()
{
//空格中数字已经存在,则返回null
if (existsGrid[x][y])
{
return null;
}
ListInteger tempList = new ArrayListInteger();
// 找到x轴剩余的数字
for (int i = 1; i 10; i++)
{
boolean hasValue = false;
for (int k = 0; k 9; k++)
{
if (nineGrid[x][k] == i)
{
hasValue = true;
break;
}
}
// 在x轴中没有找到
if (!hasValue)
{
tempList.add(i);
}
}
// 找xy轴都没有的数字
for (int i = 0; i tempList.size(); i++)
{
Integer t = (Integer) tempList.get(i);
boolean hasValue = false;
for (int k = 0; k 9; k++)
{
if (nineGrid[k][y] == t.intVa
文档评论(0)