以下为代码:
import java.awt.event.*;
import javax.swing.*;
import java.lang.String;
import java.awt.*;
import javax.swing.event.*;public class Guess extends JFrame 
{    
int count=(-1);    
int temp;
int a=0;
int b=0;
String str;
String str3;
public Guess()
{
/*以下是给小游戏加一个菜单栏以及监听器*/    
JMenuBar menubar1=new JMenuBar();
setJMenuBar(menubar1);
JMenu filemenu=new JMenu("文件");JMenuItem startitem=new JMenuItem("开始");
startitem.addActionListener(new ActionListener()
{/*以下代码功能是当游戏要再玩一次时,按“开始”就可以取得一个新的随机四位数,*/
public void actionPerformed(ActionEvent evt)
{
count=(-1);
text3.setText("");
text4.setText("");
text5.setText("");
text6.setText("");
text7.setText("");
text8.setText("");
text9.setText("");
text10.setText("");
text11.setText("");do
{
    temp=getRandom(1000,9999);str3=String.valueOf(temp);
    
    char chr2[]=new char[4];
chr2[0]=str3.charAt(0);
chr2[1]=str3.charAt(1);
chr2[2]=str3.charAt(2);
chr2[3]=str3.charAt(3);
    
}
while((str3.charAt(0)==str3.charAt(1))||(str3.charAt(0)==str3.charAt(2))||(str3.charAt(0)==str3.charAt(3))||(str3.charAt(1)==str3.charAt(2))||(str3.charAt(1)==str3.charAt(3))||(str3.charAt(2)==str3.charAt(3)));
text2.setText("又一局");
text1.setText("");}
});
/*以上代码功能是当游戏要再玩一次时,按“开始”就可以取得一个新的随机四位数,*/
filemenu.add(startitem);
filemenu.addSeparator();JMenuItem closeitem=new JMenuItem("退出");
closeitem.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
System.exit(0);
}
});
filemenu.add(closeitem);
filemenu.addSeparator();menubar1.add(filemenu);JMenu helpmenu=new JMenu("帮助");/*filemenu.addActionListener(this);*/
JMenuItem startitem1=new JMenuItem("游戏规则");
startitem1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
JFrame aa=new JFrame();JTextArea bb=new JTextArea("游戏的版面很简单,在提示\"请输入4位数\"的框内输入各不相同的四位数按\"确定\"就可以了,在下面的3X3的九个框内保存前九次猜的数字,超过九次就不保存了,小游戏一开始就取得一个随机的\"各不相同\"的四位数,然后你猜。举个例子:随机的四位数为1234,如果你猜为7419,则显示为2B,意思是对了2个数字,B表示你的2个数字的位置不对,如果你猜为1230,则显示为3A,意思是你猜中了3个数,且位置是对的",250,180);
bb.setLineWrap(true);aa.getContentPane().add(bb);
aa.setTitle("游戏帮助");
aa.setSize(300,200);
aa.setResizable(false);
aa.show();
}
});
helpmenu.add(startitem1);
helpmenu.addSeparator();JMenuItem closeitem1=new JMenuItem("版本--1.0");helpmenu.add(closeitem1);
helpmenu.addSeparator();menubar1.add(helpmenu);
/*以上是给小游戏加一个菜单栏以及监听器*/    
setTitle("猜数字了,考考你的脑子!");
setSize(320,200);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});buttontop=new JButton("确定");
buttonbut=new JButton("答案");text1=new JTextField("",4);
text2=new JTextField("",4);
text3=new JTextField("",4);
text4=new JTextField("",4);
text5=new JTextField("",4);
text6=new JTextField("",4);
text7=new JTextField("",4);
text8=new JTextField("",4);
text9=new JTextField("",4);
text10=new JTextField("",4);
text11=new JTextField("",4);label1=new JLabel("请输入4位数:");
label2=new JLabel("数字提示:");
label3=new JLabel("保存九个数据:");text2.setEnabled(false);
text3.setEnabled(false);
text4.setEnabled(false);
text5.setEnabled(false);
text6.setEnabled(false);
text7.setEnabled(false);
text8.setEnabled(false);
text9.setEnabled(false);
text10.setEnabled(false);
text11.setEnabled(false);buttonbut.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
doButtonBut();
}
});buttontop.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{count=count+1;
System.out.println(count);
doButtonTop();
}
});
Container contentPane=getContentPane();
GridBagLayout con=new GridBagLayout();
contentPane.setLayout(con);GridBagConstraints constraints=new GridBagConstraints();
constraints.fill=GridBagConstraints.NONE;
constraints.anchor=GridBagConstraints.SOUTH;
constraints.weightx=20;
constraints.weighty=20;
add(label1,constraints,0,0,1,1);constraints.fill=GridBagConstraints.HORIZONTAL;
constraints.anchor=GridBagConstraints.SOUTH;
constraints.weightx=20;
constraints.weighty=0;
add(text1,constraints,1,0,1,1);constraints.fill=GridBagConstraints.NONE;
constraints.anchor=GridBagConstraints.SOUTH;
constraints.weightx=100;
constraints.weighty=0;
add(buttontop,constraints,2,0,1,1);add(label2,constraints,0,1,1,1);constraints.fill=GridBagConstraints.HORIZONTAL;
constraints.anchor=GridBagConstraints.SOUTH;
add(text2,constraints,1,1,1,1);constraints.fill=GridBagConstraints.NONE;
constraints.anchor=GridBagConstraints.SOUTH;
constraints.weightx=100;
constraints.weighty=0;
add(buttonbut,constraints,2,1,1,1);constraints.fill=GridBagConstraints.HORIZONTAL;
constraints.anchor=GridBagConstraints.SOUTH;
add(label3,constraints,1,3,1,1);constraints.fill=GridBagConstraints.HORIZONTAL;
constraints.anchor=GridBagConstraints.SOUTH;
add(text3,constraints,0,4,1,1);constraints.fill=GridBagConstraints.HORIZONTAL;
constraints.anchor=GridBagConstraints.SOUTH;
add(text4,constraints,1,4,1,1);constraints.fill=GridBagConstraints.HORIZONTAL;
constraints.anchor=GridBagConstraints.SOUTH;
add(text5,constraints,2,4,1,1);
constraints.fill=GridBagConstraints.HORIZONTAL;
constraints.anchor=GridBagConstraints.SOUTH;
add(text6,constraints,0,5,1,1);constraints.fill=GridBagConstraints.HORIZONTAL;
constraints.anchor=GridBagConstraints.SOUTH;
add(text7,constraints,1,5,1,1);
constraints.fill=GridBagConstraints.HORIZONTAL;
constraints.anchor=GridBagConstraints.SOUTH;
add(text8,constraints,2,5,1,1);
constraints.fill=GridBagConstraints.HORIZONTAL;
constraints.anchor=GridBagConstraints.SOUTH;
add(text9,constraints,0,6,1,1);
constraints.fill=GridBagConstraints.HORIZONTAL;
constraints.anchor=GridBagConstraints.SOUTH;
add(text10,constraints,1,6,1,1);constraints.fill=GridBagConstraints.HORIZONTAL;
constraints.anchor=GridBagConstraints.SOUTH;
add(text11,constraints,2,6,1,1);do
{
    temp=getRandom(1000,9999);str3=String.valueOf(temp);
    
    char chr2[]=new char[4];
chr2[0]=str3.charAt(0);
chr2[1]=str3.charAt(1);
chr2[2]=str3.charAt(2);
chr2[3]=str3.charAt(3);
    
}
while((str3.charAt(0)==str3.charAt(1))||(str3.charAt(0)==str3.charAt(2))||(str3.charAt(0)==str3.charAt(3))||(str3.charAt(1)==str3.charAt(2))||(str3.charAt(1)==str3.charAt(3))||(str3.charAt(2)==str3.charAt(3)));
/*System.out.println(String.valueOf(temp));
System.out.println(java.lang.Math.random());
*/}public void add(Component c,GridBagConstraints constraints,int x,int y,int w,int h)
{
constraints.gridx=x;
constraints.gridy=y;
constraints.gridwidth=w;
constraints.gridheight=h;
getContentPane().add(c,constraints);
}
public static int getRandom(int min,int max)
{
    int rand=0;
    try
    {
        if (min>max)
        {
            return 0;
        }
        rand=min+(int)((max-min+1)*java.lang.Math.random());
    }
    catch(Exception e)
    {}
        return rand;
}public void doButtonBut()
{text2.setText(str3);}public void doButtonTop()
{int a=0;
int b=0;
int c=0;str=str3;
String str1;
String str2;
str2=text1.getText();
str1=str2.trim();
char chr[]=new char[4];
char chr1[]=new char[4];chr[0]=str.charAt(0);
chr[1]=str.charAt(1);
chr[2]=str.charAt(2);
chr[3]=str.charAt(3);chr1[0]=str1.charAt(0);
chr1[1]=str1.charAt(1);
chr1[2]=str1.charAt(2);
chr1[3]=str1.charAt(3);for (int x=0;x<4;x++)
{
    for(int y=0;y<4;y++)
    {
        if(chr[y]==chr1[x])
        {
            b=b+1;
            if (x==y)
            {
                a=a+1;
                b=b-1;
            }
        }
    }
    text2.setText(a+"A"+""+b+"B");
}c=a+b;if(count==0)
{
text3.setText(text1.getText()+"--"+text2.getText());
}
if(count==1)
{
text4.setText(text1.getText()+"--"+text2.getText());
}
if(count==2)
{
text5.setText(text1.getText()+"--"+text2.getText());
}if(count==3)
{
text6.setText(text1.getText()+"--"+text2.getText());
}
if(count==4)
{
text7.setText(text1.getText()+"--"+text2.getText());
}if(count==5)
{
text8.setText(text1.getText()+"--"+text2.getText());
}if(count==6)
{
text9.setText(text1.getText()+"--"+text2.getText());
}if(count==7)
{
text10.setText(text1.getText()+"--"+text2.getText());
}if(count==8)
{
text11.setText(text1.getText()+"--"+text2.getText());
}}
public static void main(String argv[])
{Frame f=new Guess();
f.setResizable(false);
f.show();}private JButton buttontop;
private JButton buttonbut;private JTextField text1;
private JTextField text2;
private JTextField text3;
private JTextField text4;
private JTextField text5;
private JTextField text6;
private JTextField text7;
private JTextField text8;
private JTextField text9;
private JTextField text10;
private JTextField text11;private JLabel label1;
private JLabel label2;
private JLabel label3;}