JAVA猜数字程序帮忙写注释,谢谢高手了,详细点

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class GuessNumber
extends JFrame {
JTextField numberDisplay;
JTextArea reasultDisplay;
JButton button0;
JButton btnOk;
JButton btnHelp;
JButton btnclear;
int[] gessArray;
int[] rndNumber;
String sstr;
String reasultStr;
int aNum, bNum;
int n;
public GuessNumber() {
createComponents();
layoutComponents();
setTitle("简单猜数字游戏");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(200,150);
this.setVisible(true);
createRandom();
registerEventHander();

}
private void createComponents() {
numberDisplay = new JTextField(4);
reasultDisplay = new JTextArea();
btnOk = new JButton("OK");
btnHelp = new JButton("?");
btnclear = new JButton("clear");
reasultStr = new String("");
n = 0;
}
private void layoutComponents() {
Container contentPane = this.getContentPane();
contentPane.setLayout(new GridLayout(3, 1));
//
JScrollPane scrollPane = new JScrollPane(reasultDisplay);
//

JPanel BtnDis = new JPanel();

BtnDis.add(btnHelp);
BtnDis.add(numberDisplay);
//
JPanel ButtonPane4 = new JPanel();
ButtonPane4.add(btnOk);
ButtonPane4.add(btnclear);
//
contentPane.add(scrollPane);

contentPane.add(BtnDis);
contentPane.add(ButtonPane4);

}
private class btnNumberActionEventHander
implements ActionListener {
boolean ClearDisplay;
int i = 0;
public void actionPerformed(ActionEvent e) {
JButton btn = (JButton) e.getSource();
if (ClearDisplay) {
numberDisplay.setText("");
ClearDisplay = false;
}
numberDisplay.setText(numberDisplay.getText() + btn.getText());
String cc = numberDisplay.getText();
i = cc.length();
if (i > 4) {
ClearDisplay = true;

numberDisplay.setText("");
}

}

}

private class btnclearActionEventHander
implements ActionListener {
public void actionPerformed(ActionEvent e) {
numberDisplay.setText("");
}
}

private class btnOkActionEventHander
implements ActionListener {
public void actionPerformed(ActionEvent e) {
aNum = 0;
bNum = 0;
String str = new String(numberDisplay.getText());
int userGess = Integer.parseInt(str);
gessArray = new int[4];

n++;

for (int i = 3; i >= 0; i--) {
gessArray[i] = userGess % 10;
userGess /= 10;
}

for (int i = 0; i <= 3; i++) {

for (int j = 0; j <= 3; j++) {

if (i == j) {
if (gessArray[i] == rndNumber[j]) {
aNum++;
}
}
else {
if (gessArray[i] == rndNumber[j]) {
bNum++;
}
}

}
private void registerEventHander() {
btnNumberActionEventHander number = new btnNumberActionEventHander();

btnclearActionEventHander clear = new btnclearActionEventHander();

btnclear.addActionListener(clear);

btnOkActionEventHander ok = new btnOkActionEventHander();
btnOk.addActionListener(ok);

btnHelpActionEventHander help = new btnHelpActionEventHander();
btnHelp.addActionListener(help);

}
private void createRandom() {
rndNumber = new int[4];
Set s = new HashSet();
Random random = new Random();

while (s.size() < 4) {
Integer i = new Integer(random.nextInt(10));
String x = i.toString();

if (!s.contains(x)) {
s.add(x);
}

// System.out.println(s.toString());

}
Iterator t = s.iterator();
int ii = 0;
while (t.hasNext() && ii <= 3) {

String x = (String) (t.next());

要不我给你一个猜数字的,看得眼睛不爽
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

public class GuessNumberGUI extends JFrame{
private static final long serialVersionUID = 1L;
private JTextField inputTxt;
private JTextField dispTxt;
private JButton okButton;
private JButton resetBtn;

private int randomNum; //随机产生的随机数
private Random randGenerator; //随机数生成器

public GuessNumberGUI() {
super("Guess Number Game");
this.randGenerator = new Random(9999);
this.randomNum = generateRandomNum();
System.out.println("Construtor"+this.randomNum);
initComponent();
componentAddListener();
}

private int generateRandomNum() {
int guessNum = this.randGenerator.nextInt(9999);
if(guessNum >= 1000){
return guessNum;
}
return generateRandomNum();
}

private void initComponent() {
setLayout(new FlowLayout());
this.inputTxt = new JTextField();
this.dispTxt = new JTextField();
this.okButton = new JButton("确定");
this.resetBtn = new JButton("重新开始");
this.inputTxt.setColumns(6);
this.dispTxt.setColumns(6);
this.dispTxt.setText("显示结果");

add(inputTxt);
add(dispTxt);
add(okButton);
add(resetBtn);

pack();
}

private void componentAddListener(){
this.okButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String input = inputTxt.getText();
generateNumber(input);
}
});

this.resetBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
randomNum = generateRandomNum();
System.out.println("ResetNumber="+randomNum); //test code output
}
});
}

private void generateNumber(String input) {//通过输入文本框的字符串来计算数字是否一致
if("".equals(input) || input == null) {
JOptionPane.showMessageDialog(this, "请输入数字");
return ;
}
String result = "";
int aCnt = 0;
int bCnt = 0;
String randNumStr = String.valueOf(this.randomNum);
for(int i=0; i<input.length(); i++){
char ch = input.charAt(i);
for(int j=0; j<randNumStr.length(); j++){
char jch = randNumStr.charAt(j);
if(jch == ch){
bCnt++;
if(i == j){
aCnt++;
bCnt--;
}
}
}
}
result += aCnt+"A"+bCnt+"B";
System.out.println(result);
dispTxt.setText(result);
}

public void showMe(){//运行此方法,显示界面
setLocation(200, 100);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜