lpirate4 2015-11-27 13:07 采纳率: 50%
浏览 1740
已采纳

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 + "次");
        }
    }
}

}
想了好几种方法都不行,如何设置计数器统计猜测次数呢?

  • 写回答

1条回答 默认 最新

  • 晓呆同学 2015-11-27 16:35
    关注

    类中定义一个 静态 int 变量,每次猜测的时候,++就好了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 outlook无法配置成功
  • ¥15 Pwm双极模式H桥驱动控制电机
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换