一、题目描述
编写一个猜数程序,该程序随机在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