欢迎来到天天文库
浏览记录
ID:37677291
大小:600.73 KB
页数:75页
时间:2019-05-28
《经典程序代码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一:八皇后问题package八皇后;importjava.awt.BorderLayout;importjava.awt.Container;importjava.awt.GridLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JOptionPane;importjavax.swing.JPanel
2、;publicclassQueenextendsJFrameimplementsActionListener{/***@paramargs*/JButton[][]button=newJButton[8][8];int[][]chess=newint[8][8];intcount=0;publicQueen(){Containerc=this.getContentPane();JPanelpanel1=newJPanel();panel1.setLayout(newGridLayout(8,8));for(inti=0;i<8;i++)
3、for(intj=0;j<8;j++){button[i][j]=newJButton();button[i][j].addActionListener(this);panel1.add(button[i][j]);}init();JPanelpanel2=newJPanel();JButtonstartButton=newJButton("开始");JButtonstopButton=newJButton("结束");panel2.add(startButton);startButton.addActionListener(newAc
4、tionListener(){@OverridepublicvoidactionPerformed(ActionEventarg0){//TODOAuto-generatedmethodstubinit();}});stopButton.addActionListener(newActionListener(){@OverridepublicvoidactionPerformed(ActionEventarg0){//TODOAuto-generatedmethodstubSystem.exit(0);}});panel2.add(st
5、opButton);c.setLayout(newBorderLayout());c.add(panel1,BorderLayout.CENTER);c.add(panel2,BorderLayout.SOUTH);setSize(500,600);setVisible(true);}privatevoidinit(){//TODOAuto-generatedmethodstubfor(inti=0;i<8;i++)for(intj=0;j<8;j++){chess[i][j]=0;button[i][j].setText("");}c
6、ount=0;}publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubQueenq=newQueen();q.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}@OverridepublicvoidactionPerformed(ActionEvente){//TODOAuto-generatedmethodstubJButtonb=(JButton)e.getSource();booleanflag=true;fo
7、r(inti=0;i<8;i++)for(intj=0;j<8;j++){if(button[i][j]==b){for(ints=0;s<8;s++)for(intt=0;t<8;t++){if((s==i&&chess[s][t]==1)
8、
9、(t==j&&chess[s][t]==1)
10、
11、(Math.abs(i-s)==Math.abs(j-t)&&chess[s][t]==1)){flag=false;break;}}if(flag){chess[i][j]=1;button[i][j].setText("皇后");count++
12、;System.out.print(count);isWin();}else{JOptionPane.showMessageDialog(null,"请选择正确位置","提示",JOptionPane.IN
此文档下载收益归作者所有