📄 showa.java
字号:
double weightx,weighty;
Insets inset;
u=1;
JLabel tishi=new JLabel("请输入初始值!");
gridx=0;
gridy=0;
gridwidth=1;
gridheight=1;
weightx=1;
weighty=1;
anchor=GridBagConstraints.CENTER;
fill=GridBagConstraints.NONE;
inset=new Insets(0,20,0,0);
ipadx=0;
ipady=0;
gbc=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor, fill,inset,ipadx,ipady);
grid.setConstraints(tishi,gbc);
this.add(tishi);
e0=new JTextField("2") ;
gridx=1;
gridy=1;
gridwidth=1;
gridheight=1;
weightx=1;
weighty=1;
anchor=GridBagConstraints.CENTER;
fill=GridBagConstraints.NONE;
inset=new Insets(0,10,0,0);
ipadx=30;
ipady=10;
gbc=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor, fill,inset,ipadx,ipady);
grid.setConstraints(e0,gbc);
this.add(e0);
e0.addActionListener(this);
e1=new JTextField("8") ;
gridx=2;
gridy=1;
gridwidth=1;
gridheight=1;
weightx=1;
weighty=1;
anchor=GridBagConstraints.CENTER;
fill=GridBagConstraints.NONE;
inset=new Insets(0,0,0,0);
ipadx=30;
ipady=10;
gbc=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor, fill,inset,ipadx,ipady);
grid.setConstraints(e1,gbc);
this.add(e1);
e1.addActionListener(this);
e2=new JTextField("3");
gridx=3;
gridy=1;
gridwidth=1;
gridheight=1;
weightx=1;
weighty=1;
anchor=GridBagConstraints.CENTER;
fill=GridBagConstraints.NONE;
inset=new Insets(0,0,0,100);
ipadx=30;
ipady=10;
gbc=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor, fill,inset,ipadx,ipady);
grid.setConstraints(e2,gbc);
this.add(e2);
e2.addActionListener(this);
e3=new JTextField("1") ;
gridx=1;
gridy=2;
gridwidth=1;
gridheight=1;
weightx=1;
weighty=1;
anchor=GridBagConstraints.CENTER;
fill=GridBagConstraints.NONE;
inset=new Insets(0,10,0,0);
ipadx=30;
ipady=10;
gbc=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor, fill,inset,ipadx,ipady);
grid.setConstraints(e3,gbc);
this.add(e3);
e3.addActionListener(this);
e4=new JTextField("6") ;
gridx=2;
gridy=2;
gridwidth=1;
gridheight=1;
weightx=1;
weighty=1;
anchor=GridBagConstraints.CENTER;
fill=GridBagConstraints.NONE;
inset=new Insets(0,0,0,0);
ipadx=30;
ipady=10;
gbc=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor, fill,inset,ipadx,ipady);
grid.setConstraints(e4,gbc);
this.add(e4);
e4.addActionListener(this);
e5=new JTextField("4") ;
gridx=3;
gridy=2;
gridwidth=1;
gridheight=1;
weightx=1;
weighty=1;
anchor=GridBagConstraints.CENTER;
fill=GridBagConstraints.NONE;
inset=new Insets(0,0,0,100);
ipadx=30;
ipady=10;
gbc=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor, fill,inset,ipadx,ipady);
grid.setConstraints(e5,gbc);
this.add(e5);
e5.addActionListener(this);
e6=new JTextField("7") ;
gridx=1;
gridy=3;
gridwidth=1;
gridheight=1;
weightx=1;
weighty=1;
anchor=GridBagConstraints.CENTER;
fill=GridBagConstraints.NONE;
inset=new Insets(0,10,0,0);
ipadx=30;
ipady=10;
gbc=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor, fill,inset,ipadx,ipady);
grid.setConstraints(e6,gbc);
this.add(e6);
e6.addActionListener(this);
e7=new JTextField("0") ;
gridx=2;
gridy=3;
gridwidth=1;
gridheight=1;
weightx=1;
weighty=1;
anchor=GridBagConstraints.CENTER;
fill=GridBagConstraints.NONE;
inset=new Insets(0,0,0,0);
ipadx=30;
ipady=10;
gbc=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor, fill,inset,ipadx,ipady);
grid.setConstraints(e7,gbc);
this.add(e7);
e7.addActionListener(this);
e8=new JTextField("5") ;
gridx=3;
gridy=3;
gridwidth=1;
gridheight=1;
weightx=1;
weighty=1;
anchor=GridBagConstraints.CENTER;
fill=GridBagConstraints.NONE;
inset=new Insets(0,0,0,100);
ipadx=30;
ipady=10;
gbc=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor, fill,inset,ipadx,ipady);
grid.setConstraints(e8,gbc);
this.add(e8);
e8.addActionListener(this);
gridx=1;
gridy=4;
gridwidth=1;
gridheight=1;
weightx=1;
weighty=1;
anchor=GridBagConstraints.NORTH;
fill=GridBagConstraints.NONE;
inset=new Insets(0,0,0,0);
ipadx=0;
ipady=0;
gbc=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor, fill,inset,ipadx,ipady);
ok= new JButton("查找");
grid.setConstraints(ok,gbc);
this.add(ok);
ok.addActionListener(this);
gridx=2;
gridy=4;
gridwidth=1;
gridheight=1;
weightx=0;
weighty=0;
anchor=GridBagConstraints.NORTH;
fill=GridBagConstraints.NONE;
inset=new Insets(0,0,0,0);
ipadx=0;
ipady=0;
gbc=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor, fill,inset,ipadx,ipady);
exit= new JButton("退出");
grid.setConstraints(exit,gbc);
this.add(exit);
exit.addActionListener(this);
tishi2=new JTextField("第"+u+"个结点值");
gridx=0;
gridy=1;
gridwidth=1;
gridheight=1;
weightx=1;
weighty=1;
anchor=GridBagConstraints.CENTER;
fill=GridBagConstraints.NONE;
inset=new Insets(0,20,0,0);
ipadx=0;
ipady=0;
gbc=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor, fill,inset,ipadx,ipady);
grid.setConstraints(tishi2,gbc);
this.add(tishi2);
tishi2.addActionListener(this);
tishi1=new JLabel("无解!");
gridx=0;
gridy=2;
gridwidth=1;
gridheight=1;
weightx=1;
weighty=1;
anchor=GridBagConstraints.CENTER;
fill=GridBagConstraints.NONE;
inset=new Insets(0,0,0,0);
ipadx=0;
ipady=0;
gbc=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor, fill,inset,ipadx,ipady);
grid.setConstraints(tishi1,gbc);
tishi1.setVisible(false);
this.add(tishi1);
}
public int[] getA(){
return a;
}
public void actionPerformed(ActionEvent e){
if(e.getSource().equals(ok)){
a[0]=Integer.parseInt(e0.getText());
a[1]=Integer.parseInt(e1.getText());
a[2]=Integer.parseInt(e2.getText());
a[3]=Integer.parseInt(e3.getText());
a[4]=Integer.parseInt(e4.getText());
a[5]=Integer.parseInt(e5.getText());
a[6]=Integer.parseInt(e6.getText());
a[7]=Integer.parseInt(e7.getText());
a[8]=Integer.parseInt(e8.getText());
int d[][]={{1,2,3},{8,0,4},{7,6,5}};
int f[]={1,2,3,8,0,4,7,6,5};
int s[]=new int[9];
int o[][]=new int[3][3];
s=this.getA();
int p[]=new int[9];
int k=0;
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
o[i][j]=s[k];
k++;
}
}
Eight ag=new Eight(o);
Astar A=new Astar(ag);
Eight g=new Eight(d);
int m=ag.solve(s,f);
if(m==0){
tishi1.setVisible(true);
}
if(!A.opennull()&&!A.isSuccess()){
tishi2.setText("第"+u+"个结点值");
System.out.println("第"+u+"个结点值!");
Eight q=A.FindNext();
u++;
int r[][]=new int[3][3];
r=q.getE();
e0.setText(String.valueOf( r[0][0]));
e1.setText(String.valueOf( r[0][1]));
e2.setText(String.valueOf( r[0][2]));
e3.setText(String.valueOf( r[1][0]));
e4.setText(String.valueOf( r[1][1]));
e5.setText(String.valueOf( r[1][2]));
e6.setText(String.valueOf( r[2][0]));
e7.setText(String.valueOf( r[2][1]));
e8.setText(String.valueOf( r[2][2]));
}
if(A.isSuccess()){
g.print();
JOptionPane.showMessageDialog(null,"经过"+(u-1)+"个结点成功找到目的结点") ;
System.out.println("成功找到目的结点");
u=1;
return;
}
}
if(e.getSource().equals(exit)){
this.setVisible(false);
}
}
public static void main(String []args) {
System.out.println("初始状态为:");
System.out.println("2 8 3");
System.out.println("1 6 4");
System.out.println("7 5 0");
new ShowA().show();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -