问题描述
- Java猜数字问题,新手求解
-
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 变量,每次猜测的时候,++就好了
解决方案二:
java新手问题
时间: 2024-08-08 14:38:21