m0_59810739 2021-06-29 17:46 采纳率: 50%
浏览 21
已采纳

有没有老哥能够把33行和118行的随机数范围改为【10,50】

package guess;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class guess {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		DrawFrame frame=new DrawFrame();
	    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	    frame.setVisible(true);
	}
}

class DrawFrame extends JFrame
{
	private static int count=0;//猜测次数
	private int rightNumber;//随机产生的供猜测的数字
	private JTextField num;//输入的数字
	private JLabel tip;//猜测次数提示
	private JPanel panel;//中心输入框部分面板
	private JLabel result;//猜测结果提示
	private JButton button1=new JButton("确认");
	private JButton button2=new JButton("重新开始");
	private JButton button3=new JButton("退出");
	private JButton button4=new JButton("玩法兼提示");
	
	public DrawFrame()
	{
		setBounds(500,200,400,200);
		setTitle("一个猜数游戏");
		rightNumber=(int)(Math.random()*1000);
		
		//添加顶部次数提示
		tip=new JLabel("你已经猜了"+count+"次",JLabel.LEFT);
		
		//添加中心输入框部分
		panel = new JPanel();
		JLabel input=new JLabel("输入猜测的数");
		panel.add(input);
		num=new JTextField(20);
		panel.add(num);
		result=new JLabel();//显示猜测结果
		panel.add(result);
		
		//添加底部按钮
		JPanel buttons= new JPanel();
		//按钮的监听器,有两个类,确认按钮一个类,重新开始和退出一个类
		ActionListener listener1=new ComfirmListener();
		button1.addActionListener(listener1);
		ActionListener listener2=new OtherListener2();
		button2.addActionListener(listener2);
		button3.addActionListener(listener2);
		button4.addActionListener(listener2);
		//将按钮添加到panel中
		buttons.add(button1);
		buttons.add(button2);
		buttons.add(button3);
		buttons.add(button4);
		
		//将各部分添加到框架中,用了默认的BorderLayout布局
		add(tip,"North");
		add(panel,"Center");
		add(buttons,"South");
	}
	
	//确认按钮的监听器类
	class ComfirmListener implements ActionListener
	{
		public void actionPerformed(ActionEvent event)
		{
			//猜测正确
			if(Integer.parseInt(num.getText())==rightNumber)
			{
				//设置文本框不可编辑
				num.setEditable(false);
				
				//提示猜测次数+1
				tip.setText("你已经猜了"+(++count)+"次");
				
				//调整背景色为默认背景色
				Color defaultColor = getBackground();
				panel.setBackground(defaultColor);
				
				//显示猜测结果
				panel.setBackground(Color.green);
				result.setText("恭喜你猜对啦!!");
			}
			//小于
			else if(Integer.parseInt(num.getText())<rightNumber)
			{
				panel.setBackground(Color.red);
				tip.setText("你已经猜了"+(++count)+"次");
				result.setText("此次结果为:太小");
			}
			else
			{
				panel.setBackground(Color.red);
				tip.setText("你已经猜了"+(++count)+"次");
				result.setText("此次结果为:太大");
			}
		}
	}
	
	//重新开始和退出按钮以及帮助的监听器
	class OtherListener2 implements ActionListener
	{
		public void actionPerformed(ActionEvent event)
		{
			//重新开始
			if(event.getSource()==button2)
			{
				//清除文本框内容
				num.setText("");
				
				//重新选一个供猜测数字
				rightNumber=(int)(Math.random()*1000);
						
				//调整背景色为默认背景色
				Color defaultColor = getBackground();
				panel.setBackground(defaultColor);
				
				//猜测次数增加
				count=0;
				tip.setText("你已经猜了"+count+"次");
				
				//清除原猜测结果
				result.setText("");
				
			}
			else if(event.getSource()==button4) {
				JOptionPane.showMessageDialog(null, "玩法:请从10~50中用最少的次数猜一个随机的数字。祝你好运!");
				JOptionPane.showMessageDialog(null,"提示:其一种解法用到高中确定区间零点的常用方法。");
				
			}
			
			//退出则关闭窗口
			else
			{
				setVisible(false);
			}
			
		}
		

	}

}
  • 写回答

2条回答 默认 最新

  • CSDN专家-link 2021-06-29 17:54
    关注

    rightNumber=(int)(Math.random()*1000);

    改为

    rightNumber=(int)(Math.random()*40+10);

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办