import javax.swing.*;import java.awt.*;import java.awt.event.*;public class jgg extends JFrame implements ActionListener{ static int[][] a=new int[9][9];//static int[][] temp=new int[9][9];展开
import javax.swing.*;import java.awt.*;import java.awt.event.*;public class jgg extends JFrame implements ActionListener{ static int[][] a=new int[9][9];//static int[][] temp=new int[9][9];static String[][] c=new String[9][9];static int[] f=new int[81];int h=0;static String[] s=new String[81];//static int[] num={1,2,3,4,5,6,7,8,9};public boolean testrow(int row) //判断每行有没有重复的 { for(int j=0;j<8;j++) { if (a[row][j]==0) {continue;} for(int k=j+1;k<9;k++) { if(a[row][j]==a[row][k]) {return false;} } } return true;} public boolean testcol(int col) //判断每列有没有重复的数字 { for(int i=0;i<8;i++) { if(a[i][col]==0) {continue;} for(int k=i+1;k<9;k++) { if(a[i][col]==a[k][col]) { return false;} } } return true;} public boolean testAre(int row,int col) //判断每个小九宫格 { int n= row/ 3 * 3;int k = col/3 * 3;for(int i = 0;i <8;i++) { if(a[n + i/3][k + i % 3] == 0) continue;for(int m = i+ 1;m <9;m++) { if(a[n + i/3][k + i % 3] == a[n + m/3][k + m % 3]) return false;} } return true;} public boolean testfore(int row,int col) { return (testrow(row) & testcol(col)&testAre(row,col));} public boolean csh(int n) //游戏初始化 { int i,j,k;for(k=0;k<n;k++) { i=(int)(Math.random()*9);//随机产生一个行标 j=(int)(Math.random()*9);//随机产生一个列标 a[i][j]=(int)(1+Math.random()*9);//随机产生一个数字赋值给a[i][j];} for(i=0;i<9;i++)//将a[i][j]为空赋值为0 for(j=0;j<9;j++) { if (a[i][j]>0) continue;else a[i][j]=0;} for(i=0;i<9;i++) { for(j=0;j<9;j++) { if(testfore(i,j)) continue;else csh(n);} } public jgg(){ super("数字九宫格");Container w1Container=this.getContentPane();GridLayout myLayout=new GridLayout(9,9);w1Container.setLayout(myLayout);this.setSize(600,600);this.setVisible(true);int d;//定义初始化后有多少个数据 boolean bool;d=(int)(Math.random()*(45-25)+25);csh(d);…… ……} 收起