请帮我看一下,这段代码,具体功能里面有详细说明。(主要是算法)
运行后。
0的地方必须是1到9之间的数字
每一个数字在所在行,和所在列中,必须是唯一的。
例如 3行2列是一个5 ,那么第3行中,就不能在有5了。
第2列中,也不能有了。
谢谢。
import java.io.*;
import java.lang.*;
public class a1
{
public static void main(String[] args)
{
int [][] k=new int [10][10];
int i;
int j;
int x=1;
int ii;
int jj;
int flag=0;
System.out.println( "***************************** ");
for ( i=1;i <=9;i++)
for ( j=1;j <=9;j++)
k[i][j]=0;
k[1][2]=9;
k[1][6]=4;
k[1][9]=5;
k[2][3]=3;
k[2][5]=6;
k[2][7]=4;
k[4][3]=8;
k[4][6]=2;
k[5][1]=9;
k[5][2]=5;
k[5][5]=8;
k[5][9]=3;
k[6][3]=7;
k[6][5]=9;
k[6][7]=8;
k[6][8]=1;
k[7][2]=4;
k[7][7]=3;
k[8][1]=8;
k[8][3]=2;
k[8][5]=3;
k[8][9]=1;
k[9][2]=1;
k[9][4]=2;
k[9][6]=9;
k[9][9]=4;
for (i=1;i <=9;i++)
{// System.out.print( "* ");
for (j=1;j <=9;j++)
{ //System.out.print( "# ");
flag=0;
// x=1;
if (k[i][j]==0)
{
for(x=1;x <=9;x++)
{
flag=0;
for(ii=1;ii <=9;ii++)
{
if (j!=ii)
{
if (k[i][ii]==x)
{