用java来写一个猜数字游戏,要用到界面

那个点开始之后要让开始市区作用最好是让它变成灰色,不能点击,还有就是那个可以告诉运行者猜大了还是猜小了,图形与图差不多就行麻烦大家了!最好可以告诉我一下怎么做的!!... 那个点开始之后要让开始市区作用最好是让它变成灰色,不能点击,还有就是那个可以告诉运行者猜大了还是猜小了,图形与图差不多就行
麻烦大家了!最好可以告诉我一下怎么做的!!
展开
 我来答
yugi111
推荐于2017-10-11 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
package p1;

import java.awt.Color;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.WindowConstants;

public class MyFrame extends JFrame
{
private static final long serialVersionUID = 1L;
int random = 0;

public static void main ( String[] args )
{
new MyFrame ();
}

public MyFrame ()
{
Container container = getContentPane ();
container.setLayout (new BoxLayout (container, BoxLayout.Y_AXIS | BoxLayout.LINE_AXIS));
container.setBackground (Color.pink);
setDefaultCloseOperation (WindowConstants.EXIT_ON_CLOSE);
setSize (300, 200);
setLocationRelativeTo (null);
setResizable (false);
setTitle ("输入1到10的数字猜");
JPanel p = new JPanel ();
final JTextField jtf = new JTextField (20);
jtf.setToolTipText ("输入1到10的数字猜");
p.add (jtf);
container.add (p);
JPanel panel = new JPanel ();
final JButton bl = new JButton ("开始");
bl.addActionListener (new ActionListener ()
{
public void actionPerformed ( ActionEvent e )
{
random = (int) ( Math.random () * 10 + 1 );
bl.setEnabled (false);
}
});
panel.add (bl);
JButton bl1 = new JButton ("确定");
bl1.addActionListener (new ActionListener ()
{
public void actionPerformed ( ActionEvent e )
{
String num = jtf.getText ().trim ();
if (!num.matches ("^[1-9]|10$"))
{
JOptionPane.showConfirmDialog (null, "请填入一个 1~10 的整数 !", "友情提示", JOptionPane.CLOSED_OPTION,
JOptionPane.ERROR_MESSAGE);
}
else
{
if (random == Integer.parseInt (num))
{
JOptionPane.showConfirmDialog (null, "恭喜你,猜对了 !", "友情提示", JOptionPane.CLOSED_OPTION,
JOptionPane.INFORMATION_MESSAGE);
}
else
{
JOptionPane.showConfirmDialog (null, "很遗憾,你猜错了 ! 随机数是:" + random, "友情提示",
JOptionPane.CLOSED_OPTION, JOptionPane.WARNING_MESSAGE);
}
}
jtf.requestFocus ();
bl.setEnabled (true);
}
});
panel.add (bl1);
JButton bl2 = new JButton ("退出");
bl2.addActionListener (new ActionListener ()
{
public void actionPerformed ( ActionEvent e )
{
System.exit (0);
}
});
panel.add (bl2);
container.add (panel);
JLabel jl = new JLabel ();
container.add (jl);
setVisible (true);
}
}
更多追问追答
追问
那个怎么改成数字是100-1000??
追答
趣事情
推荐于2017-09-26 · 知道合伙人互联网行家
趣事情
知道合伙人互联网行家
采纳数:517 获赞数:5452
电脑技术,软件开发。移动开发。网站建设相关专业知识。都可以提供解答和相关技术指导。

向TA提问 私信TA
展开全部
java实现的简单猜数字游戏代码,通过随机数与逻辑判断来实现游戏功能
代码如下:

import java.util.InputMismatchException;

import java.util.Scanner;
public class Main {

public static void main(String[] args) {

// 产生一个随机数

int number = (int) (Math.random() * 100) + 1;
// 加入count

int count = 0;
// 在这里加入最大值,和最小值

int max = 100;

int min = 1;
while (true) {

// 键盘录入数据

Scanner sc = new Scanner(System.in);

System.out.println("请输入你要猜的数据:(" + min + "~" + max + ")");

try {

count++;

int guessNumber = sc.nextInt();

// 判断

if (guessNumber > number) {

max = guessNumber;

System.out.println("你猜大了");

} else if (guessNumber < number) {

min = guessNumber;

System.out.println("你猜小了");

} else {

System.out.println("恭喜你,花了" + count + "次就猜中了");

// 问是否继续

System.out.println("请问还要继续吗?(yes)");

sc = new Scanner(System.in);

String str = sc.nextLine();

if ("yes".equals(str)) {

// 重写赋值随机数

number = (int) (Math.random() * 100) + 1;

count = 0;

max = 100;

min = 1;

} else {

break;

}

}

} catch (InputMismatchException e) {

System.out.println("你输入的数据有误");

}

}

}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
赤壁赋白
2014-04-24 · TA获得超过988个赞
知道小有建树答主
回答量:338
采纳率:100%
帮助的人:233万
展开全部

这是我以前帮别人做的一个猜数字游戏,你可以借鉴一下。主要思路是,先用Random产生一个随机数,然后然 用户输入值,点击确定后,取文本框的值去和随机数进行对比,然后给出相应的提示(大或者小),按钮开始变成灰色就是设置是否点击,应该有个setdisable方法,传一个false进去就可以。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式