Java中的猜数小游戏~

***用到的知识事件和组件,其他的上面showmessageDialog完全可以不用
我们玩就可以用system.out.println()就可以了,当然了,好看~~~~注释写的很详细,大家可以仔细看看~

如果有不对的,麻烦联系我改下,谢谢!***

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.Random;

public class A extends JFrame implements ActionListener {
	JButton one = new JButton("得到一个随机数");
	JButton two = new JButton("确定");
	JTextField field = new JTextField(10);
	JLabel label = new JLabel("未初始化随机数");
	int sjs = 0;// 初始化产生的随机数
	int guess = 0;// 初始化我们猜的数
	String regx = "[0-9]+";// 正则表达式,0-9

	public A() {
		setBounds(300, 300, 300, 300);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		setLayout(new FlowLayout());
		setTitle("java");
		add(one);
		add(label);
		add(field);
		add(two);
		one.addActionListener(this);// 初始化窗口并添加监视器
		two.addActionListener(this);
		setVisible(true);
	}

	public void actionPerformed(ActionEvent a) {
		// 判断我们按下了按钮one,还是按钮two
		if (a.getSource() == one) 
		{// 按下按钮one(就是初始化随机数)
			sjs = new Random().nextInt(100);// 产生随机数
			label.setText("请猜数!");
		} 
		else if (a.getSource() == two) {// 按下按钮two(就是确定猜数)
			if (field.getText().matches(regx)) 
			{	// 如果符合正则表达式
				guess = Integer.parseInt(field.getText());// 获取文本框的值
				System.out.println(guess);
				if (guess > sjs) {
					JOptionPane.showMessageDialog(this, "大了", "错误提示", JOptionPane.WARNING_MESSAGE);
				} else if (guess < sjs) {
					JOptionPane.showMessageDialog(this, "小了", "错误提示", JOptionPane.WARNING_MESSAGE);
				} else if (guess == sjs) {
					JOptionPane.showMessageDialog(this, "恭喜你", "正确提示", JOptionPane.WARNING_MESSAGE);
				}

			} 
			else 
			{	// 不符合正则表达式
				JOptionPane.showMessageDialog(this, "请重新输入合法的数字!", "错误提示", JOptionPane.WARNING_MESSAGE);
			}
		}
	}

	public static void main(String[] args) {// 创建窗体
		A bb = new A();
	}
}

发布了14 篇原创文章 · 获赞 3 · 访问量 703

猜你喜欢

转载自blog.csdn.net/u014582342/article/details/103483158