Java学习:微型可运行程序:猜数字小程序

猜数字小程序

既然是Java程序就要用到swing组件

import java.awt.*;
import javax.swing.*;

然后创建小程序类,继承swing中的Jframe类以便实现窗口功能,同时继承ActionListener接口来监听用户行为,以便实时交互

class WindowButton extends JFrame implements ActionListener

利用继承的组件构造几个按钮,标签和可输入文本框

JTextField txt;
JButton buttonNumber,buttonEnter,buttonD1,buttonD2,buttonD3,buttonD4,buttonD5;
JLabel label;

下面是程序类`

import java.awt.*;
import javax.swing.*;


class WindowButton extends JFrame implements ActionListener{
int number;
int num=10;
int c=5;
JTextField txt;
JButton buttonNumber,buttonEnter,buttonD1,buttonD2,buttonD3,buttonD4,buttonD5;
JLabel label;
JPasswordField password;
WindowButton (String s){
super(s);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e){dispose();}
});
setLayout(new FlowLayout());
buttonNumber=new JButton("点我,我就想出一个数");
add(buttonNumber);
label=new JLabel("输入你的猜测",JLabel.CENTER);
label.setBackground(Color.cyan);
txt=new JTextField("0",10);
add(label);
add(txt);
buttonEnter=new JButton("确定");
add(buttonEnter);
buttonD1=new JButton("点我进入简单难度");
add(buttonD1);
buttonD2=new JButton("点我进入普通难度");
add(buttonD2);
buttonD3=new JButton("点我进入困难难度");
add(buttonD3);
buttonD4=new JButton("点我进入噩梦难度");
add(buttonD4);
buttonD5=new JButton("点我进入地狱难度");
add(buttonD5);
buttonEnter.addActionListener(this);
buttonNumber.addActionListener(this);
buttonD1.addActionListener(this);
buttonD2.addActionListener(this);
buttonD3.addActionListener(this);
buttonD4.addActionListener(this);
buttonD5.addActionListener(this);
setBounds(100,400,1300,100);
setVisible(true);
validate();
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==buttonD1){num=10;c=5;label.setText("现在是简单难度,请点前面的按钮");}
else if(e.getSource()==buttonD2){num=100;c=8;label.setText("现在是普通难度,请点前面的按钮");}
else if(e.getSource()==buttonD3){num=1000;c=10;label.setText("现在是困难难度,请点前面的按钮");}
else if(e.getSource()==buttonD4){num=10000000;c=20;label.setText("现在是噩梦难度,请点前面的按钮");}
else if(e.getSource()==buttonD5){num=1000000000;c=30;label.setText("现在是地狱难度,你不可能成功的,呼哈哈!别忘了前面的按钮,不过算了,反正你也过不了");}
else if(e.getSource()==buttonNumber){
 number=(int)(Math.random()*num)+1;
if(num==10)
{label.setText("现在是简单难度,输入你的猜测:");}
else if(num==100)
{label.setText("现在是普通难度,输入你的猜测:");}
else if(num==1000)
{label.setText("现在是困难难度,输入你的猜测:");}
else if(num==10000000)
{label.setText("现在是噩梦难度,猜中了奖励十块钱:");}
else if(num==1000000000)
{label.setText("这一关不可能成功,猜中了奖励一百块钱:");}
}
else if(e.getSource()==buttonEnter){
int guess=0;
try{
guess=Integer.parseInt(txt.getText());
if(guess==number){
label.setText("恭喜你答对啦,超棒!!");}
else if(guess>number&&c>=0){
label.setText("有点大了,加油吧,你还有"+(c--)+"次机会哦");txt.setText(null);}
else if(guess<number&&c>0){
label.setText("猜小了,继续吧,你还有"+(c--)+"次机会");txt.setText(null);}
else if(c<=0){
label.setText("很遗憾,你输了");}
}
catch(NumberFormatException event){label.setText("请输入数字");}
}
}
}

下面是主类

import java.awt.*;
import javax.swing.*;
public class E{
public static void main(String args[]){
WindowButton win =new WindowButton("猜数字");
}
}

下面是程序运行时图
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值