Java的GUI编程,实现猜数字

编写应用GUI组件的程序,完成猜数游戏:程序随机产生一个数,用户输入猜数,程序每次给出大或小的提示,最多猜十次。
在这里插入图片描述
源码

package demo6;

import com.sun.javafx.logging.JFRInputEvent;
import demo4.BinarySearch;

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

public class Guess {
   static int count=1;
   static int max=100;
    static int min=0;
    static int answer= new Random().nextInt(101);
    public Guess(){
        JFrame game=new JFrame("猜数字");
        game.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        game.setLocation(500,300);
        game.setSize(500,500);
        game.setVisible(true);
        JTextArea showarea=new JTextArea(2,2);
        JScrollPane scrollPane=new JScrollPane(showarea);
        scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
        showarea.setEditable(false);//不可编辑
        JButton button=new JButton("猜一猜");
        JTextField jTextField=new JTextField(20);
        button.addActionListener(e -> {
            String ant=jTextField.getText();
            String text=null;
            if(count>10) text="10次机会已经用完,猜数失败!";
            else if(count<=10) {
                text = "第" + count + "次猜的数字" + min + "和" + max + "之间" + ant + "\n" + judgeNumber(ant) + "\n";
                count++;
            }
            else text = "10次机会已经用完,猜数失败!"+"\n";
            showarea.append(text);
            jTextField.setText("");//输入框清空
          //  if (count > 10) showarea.append("10次机会已经用完,猜数失败!");
        });
        JPanel panel=new JPanel();
        JLabel lable = new JLabel("请输入想猜的数字");
        panel.add(lable);
        panel.add(jTextField);
        panel.add(button);
        game.add(scrollPane, BorderLayout.CENTER);
        game.add(panel, BorderLayout.PAGE_END);
game.setVisible(true);
    }
    public static String judgeNumber(String txt){
int a=Integer.valueOf(txt);
    if(a==answer){
    return "恭喜你花了"+count+"次猜对了!,请退出";
}
    else if (a>answer&&count<10){
        max=a;
    return a+"猜大了,"+"请重新输入第"+(count+1)+"次猜"+min+"和"+max+"之间";
    }
    else if(count<10){
        min=a;
    return a+"猜小了,"+"请重新输入第"+(count+1)+"次猜"+min+"和"+max+"之间";
    }
    else return "10次机会已经用完,猜数失败!";
}
}

package demo6;

public class Test {
    public static void main(String[] args) {
    new Guess();
    }
}

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值