Java | PTA练习:猜数游戏

导读:本篇文章讲解 Java | PTA练习:猜数游戏,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

一、题目描述

编写一个猜数程序,该程序随机在1到1000的范围中选择一个供用户猜测的整数。界面上提供一个文本框来接收用户输入的猜测的数,如果用户猜得太大,则背景变为红色,如果猜得太小,背景变为蓝色。用户猜对后,文本框变为不可编辑,同时提示用户猜对了。界面上提供一个按钮,使用户可以重新开始这个游戏。在界面上还需显示用户猜测的次数。

二、代码示例

import java.awt.event.*;
import javax.swing.*;            
import java.awt.*;
import java.util.Random;
 
public class Main implements ActionListener{
	int count = 0;
	int answer;
	Random random;
	JPanel Jpanel;
	JLabel label1;
	JLabel label2;
	JLabel label3;
	JButton Button1;
	JButton Button2;
	JButton Button3;
	JTextField Text;


public void set_Num()
{
	random = new Random();
	answer = Math.abs(random.nextInt()%1001);
}


public Main()
{
	set_Num();
	System.out.println(answer);

	JFrame Frame = new JFrame();
	Frame.setSize(300, 220);
	Jpanel = new JPanel();
	Jpanel.setSize(300, 220);
	Jpanel.setBackground(null);
	Jpanel.setLayout(null);

	label1 = new JLabel("你已经猜了" + count + "次");
	label1.setBounds(5, 0, 150, 30);
	label1.setVisible(false);

	label2 = new JLabel("输入猜测的数");
	label2.setBounds(30, 50, 100, 30);

	Text = new JTextField();
	Text.setBounds(120, 50, 60, 30);

	label3 = new JLabel();
	label3.setBounds(190, 50, 100, 30);
	label3.setVisible(false);

	Button1 = new JButton("确认");
			Button1.addActionListener(this);
	Button1.setBounds(10, 110, 60, 30);

	Button2 = new JButton("重新开始");
			Button2.addActionListener(this);
	Button2.setBounds(80, 110, 100, 30);

	Button3 = new JButton("退出");
			Button3.addActionListener(this);
	Button3.setBounds(190, 110, 60, 30);

	Jpanel.add(Button1);
	Jpanel.add(Text);
	Jpanel.add(Button2);
	Jpanel.add(Button3);
	Jpanel.add(label1);
	Jpanel.add(label2);
	Jpanel.add(label3);
	Frame.add(Jpanel);
	Frame.setVisible(true);
}
public void actionPerformed(ActionEvent e) {  
	 if(e.getSource()==	Button1)
	{
		 label1.setVisible(true);
		 count ++;
		 label1.setText("你已经猜了" + count + "次");
		 String str = new String(Text.getText());
		 int Num2 = Integer.parseInt(str);
		 if(Num2 == answer)
		 {
			 Text.setEditable(false);
			 Jpanel.setBackground(null);
			 label3.setVisible(true);
			 label3.setText("GOOD JOB!");
			 Button1.setEnabled(false);
		 }
		 else if(Num2 < answer)
		 {
			 Jpanel.setBackground(Color.blue);
			 label3.setVisible(true);
			 label3.setText("太小");
		 }
		 else
		 {
			 Jpanel.setBackground(Color.red);
			 label3.setVisible(true);
			 label3.setText("太大");
		 }
	}
	 else if(e.getSource() == Button2)
	 {
		 label1.setVisible(false);
		 Text.setEditable(true);
		 label3.setVisible(false);
		 Button1.setEnabled(true);
		 Text.setText(null);
		 Jpanel.setBackground(null);
		 count = 0;
		 set_Num();
		 System.out.println(answer);
	 }
	 else System.exit(0);
	} 
	public static void main(String[] args) {
		Main m = new Main();
	}
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/103139.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!