Java 小例子:猜数字游戏
来源:互联网 发布:万网域名注册怎么用 编辑:程序博客网 时间:2024/06/01 10:25
这是一个猜数字的游戏。用户输入 1~1000 以内的任意数字,程序给出它是大了还是小了,直到猜出正确的结果。
- import javax.swing.*;
- import java.awt.BorderLayout;
- import java.awt.event.ActionListener;
- import java.awt.event.ActionEvent;
- import java.util.Random;
- /**
- * 猜数字
- */
- public class GuessNumber extends JFrame {
- private Random r = new Random();
- private int result = r.nextInt(1000) + 1;
- private int counter = 0;
- private boolean finished = false;
- private GuessNumber thisFrame = this;
- private ActionListener guessButtonListener = new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- if (!finished) {
- String user_guess = textbox.getText();
- if (user_guess.length() == 0) {
- messageLabel.setText("输入文本不能为空。");
- } else {
- try {
- int guess = Integer.parseInt(user_guess);
- counter++;
- if (guess < result) {
- messageLabel.setText("你输入的数字 " + guess + " 比结果小。");
- } else if (guess > result) {
- messageLabel.setText("你输入的数字 " + guess + " 比结果大。");
- } else {
- finished = true;
- messageLabel.setText("OK,经过" + counter + "次猜测,你终于猜中了。");
- button.setText("再来一次");
- }
- } catch (NumberFormatException e1) {
- messageLabel.setText("请输入数字。");
- }
- }
- } else {
- result = r.nextInt(1000) + 1;
- counter = 0;
- finished = false;
- messageLabel.setText("请输入一个 1~1000 之内的数字。");
- button.setText("猜一猜");
- thisFrame.setTitle(String.valueOf(result));
- }
- }
- };
- private JTextField textbox = new JTextField();
- private JLabel messageLabel = new JLabel("请输入一个 1~1000 之内的数字。");
- private JButton button = new JButton("猜一猜");
- public static void main(String[] args) {
- GuessNumber frame = new GuessNumber();
- frame.setVisible(true);
- }
- public GuessNumber() {
- super("猜数字");
- this.setDefaultCloseOperation(EXIT_ON_CLOSE);
- this.setSize(400, 200);
- this.setLocation(200, 200);
- this.setResizable(false);
- setupContentPane();
- setupControls();
- this.setTitle(String.valueOf(result));
- }
- private void setupContentPane() {
- JPanel contentPane = new JPanel(new BorderLayout());
- contentPane.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
- this.setContentPane(contentPane);
- }
- private void setupControls() {
- JPanel topPanel = new JPanel(new BorderLayout());
- setupTupPanel(topPanel);
- this.add(topPanel, BorderLayout.NORTH);
- this.add(messageLabel, BorderLayout.CENTER);
- }
- private void setupTupPanel(JPanel panel) {
- panel.add(textbox, BorderLayout.CENTER);
- button.addActionListener(guessButtonListener);
- panel.add(button, BorderLayout.EAST);
- }
- }
- Java 小例子:猜数字游戏
- Java 小例子:猜数字游戏
- Java——猜数字游戏小程序
- 对于猜数字游戏的java小思考
- 1.每天一个java小程序之猜数字游戏
- JAVA小程序之猜数字游戏(题目解析)
- Java 小例子:输出格式化数字
- Java 小例子:输出格式化数字
- Java猜数字游戏
- [Java]猜数字游戏
- java 猜数字游戏
- Java 猜数字游戏
- java--猜数字游戏
- java 猜数字游戏
- java.猜数字游戏
- java 猜数字游戏
- 猜数字游戏java
- java 猜数字游戏
- AJAX Suggest实例
- 以smdk2410开发板为基础的uboot学习笔记(1) 概览
- Java 小例子:简单秒表
- 编程的几种境界
- 如何提问题
- Java 小例子:猜数字游戏
- Java 小例子:一个测试正则表达式的工具
- 把环境影响降至最低 让实力发挥到极致
- 把环境影响降至最低 让实力发挥到极致
- .net下的COM,操作internet连接共享(ICS)
- 递归效率
- 让 FCKeditor 支持多用户Web环境(以PHP为例)
- 6月24日
- 一道华为的面试题