📄 queensdisplay.java
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class QueensDisplay extends JFrame implements ActionListener{
/**
* @param args
*/
JLabel label1;
JLabel label2;
JTextField tField1;
JTextField tField2;
JButton button1;
JTextArea text1;
String newline;
public QueensDisplay(){
Container pane1 = new JPanel();
Container pane2 = new JPanel();
Container pane3 = getContentPane();
pane1.setLayout(new GridLayout(2,2));
pane2.setLayout(new GridLayout(1,2));
pane3.setLayout(new BorderLayout());
label1 = new JLabel(" 皇后数目:");
label2 = new JLabel(" 重复次数:");
tField1 = new JTextField();
tField2 = new JTextField();
button1 = new JButton("开始");
text1 = new JTextArea();
text1.setFont(new Font("Serif",Font.ITALIC,16));
JScrollPane scrollPane = new JScrollPane(text1);
newline = System.getProperty("line.separator");
tField1.addActionListener(this);
tField2.addActionListener(this);
button1.addActionListener(this);
pane1.add(label1);
pane1.add(tField1);
pane1.add(label2);
pane1.add(tField2);
pane2.add(pane1);
pane2.add(button1);
pane3.add(pane2,BorderLayout.NORTH);
pane3.add(scrollPane,BorderLayout.CENTER);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
public void actionPerformed(ActionEvent e){
Object source = e.getSource();
if((source == tField1) || (source == tField2) || (source ==button1)){
text1.setText("");
int queenNumber = new Integer(tField1.getText());
int repeatTimes = new Integer(tField2.getText());
int number = 0;
double d1 = 0.0;
double dt = 0.0;
Queens myQueen = new Queens(queenNumber);
for(int m = queenNumber; m >= 0; --m){
number = 0;
d1 = 0.0;
dt = 0.0;
for(int times = 0; times <=repeatTimes; ++times){
number = myQueen.repeatQueensLvb(m);
d1 = 1.0 / number;
dt += d1;
}
dt = dt / repeatTimes;
for(int i = 0; i < queenNumber; ++i){
for(int j = 0; j < queenNumber; j++){
if( myQueen.x[i] == j){
text1.append("Q");
text1.append("|");
//System.out.print('Q');
//System.out.print('|');
}
else{
text1.append("A");
text1.append("|");
//System.out.print('A');
//System.out.print('|');
}
}
text1.append(newline);
//System.out.println();
}
Integer M = new Integer(m);
text1.append("---------------------------" + M.toString());
text1.append(newline);
//System.out.println(dt);
//System.out.println("------------------------------------- " + m );
}
//text1.append(tField1.getText() + tField2.getText());
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
QueensDisplay qd = new QueensDisplay();
qd.setTitle("8皇后问题");
qd.pack();
qd.setVisible(true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -