猜数字游戏 JAVA

实训题4:

实训目的:掌握Java GUI编程和随机函数的使用。

实训要求:每次产生一个0-99之间的随机数,用户输入猜测的数字后,点击“试试”,系统将给出“大了”或“小了”的提示信息,帮助用户直到猜对结果为之。实现效果如上图。

代码

package exam4;
import java.awt.*;
import java.util.Random;
import javax.swing.*;
import javax.swing.text.JTextComponent;


public class Windows {
	static Random R = new Random();
	static int temp=R.nextInt(100); 
	private static JTextComponent inputField;
	private static void createAndShowGUI()
	{
		
		JFrame frame = new JFrame("猜数字游戏");//创建设置JFrame容器窗口
		frame.setLayout(new BorderLayout());
		frame.setSize(600, 300);
		frame.setLocation(450,330);
		frame.setResizable(false);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		JTextArea showArea = new JTextArea(12,34);
		//JScrollPane scroLLpane = new JScrollPane(showArea);
		showArea.setEditable(true);
		JTextField chat = new JTextField(20);
		JButton bt =new JButton("确定");
		JButton bt1 = new JButton("查看答案");
		JButton bt2 = new JButton("重新开始");
		JButton bt3 = new JButton("退出");
		bt.addActionListener(e ->
		{
			
			String content = chat.getText();
	if((content!=null) && (!content.trim().equals("")))//判断是否为空 
	{
			int j = Integer.valueOf(content);
			if(j<=99)
			{	
				if (j>temp)
				{
					showArea.append("不对哦!"+j+"猜大了,再猜猜看看?\n");
				}
				if (j<temp )
				{
					showArea.append("不对哦!"+j+"猜小了,再猜猜看看?\n");
					
				}
				if (j==temp)
				{
					showArea.append("恭喜你!数字是"+temp+"!不错哦!快去买彩票吧!\n");
				}
			}
			else 
			{
				showArea.append("输入的数字超过范围了,重新输入吧!\n");
			}
			chat.setText("");
		}
	
		else
		showArea.append("输入不为空,请重新输入!\n");
	}
	);
		bt1.addActionListener(e ->
		{
			showArea.append("答案是"+temp+",你猜对了吗?\n");
		});
		bt2.addActionListener(e ->
		{
			Random r = new Random();
			temp=r.nextInt(100);
			showArea.setText(" ");
			showArea.append("========数字已经重置,快来猜猜吧!==========\n");;
		});
		bt3.addActionListener(e ->
		{
			System.exit(0);
		});
	JPanel panel = new JPanel();
	JLabel label = new JLabel("请输入数字,范围0~99");
	panel.add(showArea);
	panel.add(label);
	panel.add(chat);
	panel.add(bt);
	panel.add(bt1);
	panel.add(bt2);
	panel.add(bt3);
	frame.add(panel,BorderLayout.CENTER);
	frame.setVisible(true);
	}	public static void main(String [] args)
	{
		
		SwingUtilities.invokeLater(Windows::createAndShowGUI);//SwingUtilities工具调用create方法
	}
}
发布了19 篇原创文章 · 获赞 9 · 访问量 7445

猜你喜欢

转载自blog.csdn.net/Cryu_xuan/article/details/90716167