package homework;
import javax.swing.*;
import javax.swing.border.Border;
import java.awt.*;
import java.awt.event.*;
public class GameTest {
public static void main(String[] args) {
// TODO 自动生成的方法存根
GameFrame gf = new GameFrame();
double width = Toolkit.getDefaultToolkit().getScreenSize().getWidth();
double height = Toolkit.getDefaultToolkit().getScreenSize().getHeight();
gf.setLocation((int) (width - gf.getWidth()) / 2, (int) (height - gf.getHeight()) / 2);
}
}
class GameFrame extends JFrame implements ActionListener {
// 声明标签
JLabel Getlb;// 1到100之间随机数标签
JLabel Inputlb;// 请输入猜测数标签
JLabel Clicklb;// 单击确定按钮标签
JLabel Infolb;// 反馈信息标签
JLabel Rightlb;// 实时反馈结果标签
JTextField jtf;// 输入猜测数字文本框
int number;// 我猜的数字
// 声明初始化按钮
JButton getButton = new JButton("得到一个随机数");// 获取随机数按钮
JButton confButton = new JButton("确定");// 确定按钮
FlowLayout g = new FlowLayout(FlowLayout.LEFT, 10, 10);
// 声明面板
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
JPanel p3 = new JPanel();
JPanel p4 = new JPanel();
JPanel p5 = new JPanel();
JPanel p6 = new JPanel();
JPanel p7 = new JPanel();
JPanel p8 = new JPanel();
Border e = BorderFactory.createEtchedBorder();
public GameFrame() {
this.setSize(400, 300);
this.setTitle("猜数字小游戏");
Container c = this.getContentPane();
GridLayout f = new GridLayout(4, 2, 10, 10);
c.setLayout(f);
Getlb = new JLabel("获得1到100之间的随机数:");
Inputlb = new JLabel("请输入你的猜测:");
Clicklb = new JLabel("单击确定按钮:");
Infolb = new JLabel("反馈信息:");
Rightlb = new JLabel();
jtf = new JTextField(15);
p1.setLayout(g);
p3.setLayout(g);
p5.setLayout(g);
p7.setLayout(g);
getButton.setSize(100, 100);
p1.add(Getlb);
p2.setBorder(e);
p2.add(getButton);
p3.add(Inputlb);
p4.setBorder(e);
p4.add(jtf);
p5.add(Clicklb);
p6.setBorder(e);
p6.add(confButton);
p7.add(Infolb);
p8.add(Rightlb);
c.add(p1);
c.add(p2);
c.add(p3);
c.add(p4);
c.add(p5);
c.add(p6);
c.add(p7);
c.add(p8);
// 设置程序可视化及关闭
this.setVisible(true);
this.setDefaultCloseOperation(3);
// 给按钮设置监听器
getButton.addActionListener(this);
confButton.addActionListener(this);
}
// 实现actionPerformed接口方法
public void actionPerformed(ActionEvent e) {
// TODO 自动生成的方法存根
int count = 0;// 初始化计数器
if (e.getSource() == getButton) {
number = (int) (Math.random() * 100) + 1;
getButton.setEnabled(false);
}
if (e.getSource() == confButton) {
int guessnumber = Integer.parseInt(jtf.getText());
if (guessnumber > number) {
Rightlb.setText("猜大了!");
}
if (guessnumber < number) {
Rightlb.setText("猜小了!");
}
if (guessnumber==number) {
Rightlb.setText("猜对了!你一共猜了" + count + "次");
}
}
}
}
想了好几种方法都不行,如何设置计数器统计猜测次数呢?
类中定义一个 静态 int 变量,每次猜测的时候,++就好了