用Java编写一个java猜数字游戏代码的游戏

Java编写猜数字小游戏
投稿:lijiao
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了由Java编写的猜数字小游戏分享给大家,感兴趣的小伙伴们可以参考一下
本文实例讲述了java实现的简单猜数字游戏代码。分享给大家供大家参考。
以下是Java语言写的一个猜数字小游戏引用片段:
import java.text.SimpleDateF
import java.util.D
import java.util.S
public class calssOne {
public static void main(String[] args) {
//shit+Ctrl+o
//随机产生一个在100以内的数字
int number = (int)(Math.random()*100);
System.out.println("\n***********猜数码小游戏,你hold得住吗?*********");
System.out.println("\n
********随机数字产生:不告诉你!*********\n");
System.out.println("\n
***********答案:"+number+"***************\n");
System.out.println("让我们动动脑筋来猜一猜吧,小提示:他是一个从1到100的整数");
long sTartTime=System.currentTimeMillis();//定义一个时间变量
for(int i=1;i&100;i++){
System.out.println("请输入你第"+i+"次的猜测");
result=calssOne.guess(i);//通过调用输入函数得到输入结果
//通过比较输出控制台
if(result&number)
System.out.println("不好意思,您所猜的数字大于谜底数字!");
else if(result & number)
System.out.println("不好意思,您所猜的数字小于谜底数字!");
SimpleDateFormat sNowDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
long sEndTime=System.currentTimeMillis();
System.out.println("\n
***********正确答案:"+number+"***************\n");
System.out.println("perfect!!恭喜您!一次就中!!");
else if(i&10){
System.out.println("good job! 您总共猜了"+i+"次, 还要继续加油!!");
System.out.println("not bad! 您总共猜了"+i+"次, 任重而道远啊!");
System.out.println("当前时间 :" +sNowDate.format(new Date()));// new Date()为获取当前系统时间
//System.out.println("当前时间 :" +sNowDate);
System.out.println("所用时间 :" +(sEndTime-sTartTime)/1000+"秒");
//输入函数
public static int guess(int i){
//通过引入import java.util.Scanner类包
Scanner sc=new Scanner(System.in);
//使在控制台输入的内容必须为数字
result=sc.nextInt();
catch (Exception e) {
// TODO: handle exception
System.out.println("你輸入的不是數字,请重新输入第"+i+"个数字");
//调用本函数重新输入
Java语言写的一个猜数字小游戏功能,分享给大家!对于刚刚学习编程的同学可以看看,希望本文所述对大家的java程序设计有所帮助。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具java课程设计――猜数字游戏_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
java课程设计――猜数字游戏
阅读已结束,下载文档到电脑
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩18页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢用java写一个猜数字游戏,范围0到9,(是才4个数,有8次机会)猜的时候会显示A?B?,会记录历史,求代码
原问题:用java写一个猜数字游戏,范围0到9,(是才4个数,有8次机会)猜的时候会显示A?B?,会记录历史,求代码
最后更新时间:【 05:05:22】
java实现的简单猜数字游戏代码,通过随机数与逻辑判断来实现游戏功能代码如下:importjava.util.InputMismatchEimportjava.util.SpublicclassMain{publicstaticvoidmain(String[]args){//产生一个随机数intnumber=(int)(Math.random()*100)+1;//加入countintcount=0;//在这里加入最大值,和最小值intmax=100;intmin=1;while(true){//键盘录入数据Scannersc=newScanner(System.in);System.out.println(&请输入你要猜的数据:(&+min+&~&+max+&)&);try{count++;intguessNumber=sc.nextInt();//判断if(guessNumber&number){max=guessNSystem.out.println(&你猜大了&);}elseif(guessNumber&number){min=guessNSystem.out.println(&你猜小了&);}else{System.out.println(&恭喜你,花了&+count+&次就猜中了&);//问是否继续System.out.println(&请问还要继续吗?(yes)&);sc=newScanner(System.in);Stringstr=sc.nextLine();if(&yes&.equals(str)){//重写赋值随机数number=(int)(Math.random()*100)+1;count=0;max=100;min=1;}else{}}}catch(InputMismatchExceptione){System.out.println(&你输入的数据有误&);}}}}
最佳答案由网友&&mpdmxm&&提供
公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
其它网友回答:自己写呗,能累死你?其它网友回答:import java.util.R其它网友回答:import java.util.S其它网友回答: 其它网友回答:/*其它网友回答: * 游戏随即给出一个0~99(包括0和99)的数字,然后让你猜是什么数字。你可以随便猜一个数字,游戏会提示太大还是太小,从而缩小结果范围。经过几次猜测与提示后,最终退出答案。在游戏过程中。记录你最终猜对时所需要的次数。游戏结束后公布结果。见下其它网友回答:次数 & & & & & & & & 结果其它网友回答:1 & & & & & & & & & &你太有才了!其它网友回答:2~6 & & & & & & & & &这么快就猜出来了,很聪明么!其它网友回答:大于7 & & & & & & & &猜了半天才猜出来,小同志,尚需努力啊!其它网友回答: */其它网友回答:public class guessGame {其它网友回答: 其它网友回答: /**其它网友回答: &* @param args其它网友回答: &*/其它网友回答: public static void main(String[] args) {其它网友回答: &int gameValue = (int)(Math.random()()*(100-1)+1);其它网友回答: &System.out.println(&Rand:&+gameValue);其它网友回答: &Scanner sc = new Scanner(System.in);其它网友回答: &System.out.println(&请输入一个数字&);其它网友回答: &int num = sc.nextInt();其它网友回答: &int guessCorrectNum=1;其它网友回答: 其它网友回答: &while(true){其它网友回答:&其它网友回答: &if(num==gameValue){其它网友回答: & if(guessCorrectNum == 1)其它网友回答: & System.out.println(&你太有才了!&);其它网友回答: & else if((guessCorrectNum &=2) && (guessCorrectNum&=6))其它网友回答: & System.out.println(&这么快就猜出来了,很聪明么&);其它网友回答: & else if(guessCorrectNum &7)其它网友回答: & System.out.println(&猜了半天才猜出来,小同志,尚需努力啊!&);其它网友回答: 其它网友回答:其它网友回答: &}其它网友回答: &else{其它网友回答: & if (guessCorrectNum &=20){其它网友回答:&其它网友回答: & &guessCorrectNum = guessCorrectNum + 1;其它网友回答: & &num = sc.nextInt(); 其它网友回答: 其它网友回答: & }其它网友回答: & else{其它网友回答: & &System.out.println(&20次都猜不出来...,不让你猜了&);其它网友回答: & &其它网友回答: & }其它网友回答: &}其它网友回答: &}其它网友回答: }其它网友回答:}其它网友回答:其它网友回答:代码自己写比较好扫二维码下载作业帮
2亿+学生的选择
下载作业帮安装包
扫二维码下载作业帮
2亿+学生的选择
java多线程猜数字问题/*** 用两个线程来玩猜数字游戏,第一个线程负责随机给出1-100之间的整数,第二个线程负责猜出这个数,每当第二个程序给出自己的猜测后,* 第一个线程都会提示"猜小了"、猜大了、猜对了*/import java.lang.Rimport java.lang.Tpublic class Runnable4 {public static void main(String args[]) {Number number = new Number();number.giveNumberThread.start();number.guessNumberThread.start();}}class Number implements Runnable {int realNumber,guessNumber,min = 0,max = 100,final int SMALLER = -1,LARGER = 1,SUCCESS = 8;Thread giveNumberThread,guessNumberTNumber() {giveNumberThread = new Thread(this);guessNumberThread = new Thread(this);}@Overridepublic void run() {// TODO Auto-generated method stubfor (int count = 1; count++) {if (Thread.currentThread() == giveNumberThread) {if (count == 1) {realNumber = (int) (Math.random() * 100) + 1;System.out.println("随机给你一个数为"+realNumber+",猜猜是多少");} else {if (realNumber > guessNumber) {message = SMALLER;System.out.println("你猜小了");} else if (realNumber < guessNumber) {message = LARGER;System.out.println("你猜大了");} else {message = SUCCESS;System.out.println("恭喜,你猜对了");}}try {Thread.sleep(1500);} catch (Exception e) {}}if (Thread.currentThread() == guessNumberThread) {if (count == 1) {guessNumber = (min + max) / 2;System.out.println("我第" + count + "次猜这个数:" + guessNumber);} else {if (message == SMALLER) {min = guessNguessNumber = (min + max) / 2;System.out.println("我第" + count + "次猜这个数是"+ guessNumber);} else if (message == LARGER) {max = guessNguessNumber = (min + max) / 2;System.out.println("我第" + count + "次猜这个数是"+ guessNumber);} else if (message == SUCCESS) {System.out.println("我成功了");}}try {Thread.sleep(1500);} catch (Exception e) {}}}}}我第1次猜这个数:50随机给你一个数为83,猜猜是多少你猜小了你猜小了我第3次猜这个数是75你猜小了我第4次猜这个数是87你猜大了我第5次猜这个数是93你猜大了我第6次猜这个数是90你猜大了我第7次猜这个数是88你猜大了我第8次猜这个数是87你猜大了我第9次猜这个数是87你猜大了我第10次猜这个数是87你猜大了我第11次猜这个数是87你猜大了我第12次猜这个数是87你猜大了我第13次猜这个数是87运行结果这样子,然后进行死循环输出87,没办法在猜对了,而且要怎么改才能把“随机给你一个数为83,猜猜是多少”置于第一行呢?每次运行都是在于第二行,很少能够运行在第一行.求大神指教,答的好加分.应该为线程同步的问题,求会的给解!
面对着窗户
扫二维码下载作业帮
2亿+学生的选择
通过改你的代码,我解决了线程同步的问题.//后是注释public synchronized void run() {
//加上了临界锁关键字synchronized//以下是你源代码,上下两个这里均要改.try {
Thread.sleep(1500);
//我将改这一行,你要将Thread.sleep(1500);删掉} catch (Exception e) {}//以下是我的代码try {
//唤醒之前让出资源的线程,如果不唤醒,就变成相互等待对方了
//由于加上了synchronized临界锁,如果当前线程不让出资源,另一线程将无法运行.} catch (Exception e) {}//以下是比我第一次回答多出来的部分在giveNumberThread下最后message = SUCCESS;System.out.println("恭喜,你猜对了");以上的return要去除.在guessNumberThread下else if (message == SUCCESS) {System.out.println("我成功了");把return去除,改成System.exit(0);这样就能自动退出程序了.以上新增部分把自动退出程序问题也解决了以上更改,eclipse+JDK1.7u9+JRE7下通过.望采纳,欢迎追问 如果希望我把完整代码重新贴出,请追问(不要评论),这样方便新开个窗口而不影响本窗口.
你这个是通过 synchronized 与notify()和wait()结合起来用的啊,真的不错,刚学的还不怎么会用。另外那个退出程序可以在第二个前加上System.exit(0);语句,就可以自动退出了
是的,在第二个前加上System.exit(0);语句,就可以自动退出了。但是加上System.exit(0);语句,第二个就没用了。说的简单点,第二个就成了“不可达语句”。因为执行了System.exit(0);该程序就退出了,不会执行return.
//以下是部分完整代码:
import java.lang.R
//之后未改的一部分略去了“输入内容已经达到长度限制,请删减”
class Number implements Runnable {
int realNumber, guessNumber, min = 0, max = 100,
final int SMALLER = -1, LARGER = 1, SUCCESS = 8;
Thread giveNumberThread, guessNumberT
Number() {
giveNumberThread = new Thread(this);
guessNumberThread = new Thread(this);
public synchronized void run() {
// TODO Auto-generated method stub
for (int count = 1; count++) {
if (Thread.currentThread() == giveNumberThread) {
if (count == 1) {
realNumber = (int) (Math.random() * 100) + 1;
System.out.println("随机给你一个数为" + realNumber + ",猜猜是多少");
if (realNumber > guessNumber) {
message = SMALLER;
System.out.println("你猜小了");
} else if (realNumber < guessNumber) {
message = LARGER;
System.out.println("你猜大了");
message = SUCCESS;
System.out.println("恭喜,你猜对了");
wait();//Thread.sleep(1500);
} catch (Exception e) {
else if (Thread.currentThread() == guessNumberThread) {
if (count == 1) {
guessNumber = (min + max) / 2;
System.out.println("我第" + count + "次猜这个数:" + guessNumber);
if (message == SMALLER) {
min = guessN
guessNumber = (min + max) / 2;
System.out.println("我第" + count + "次猜这个数是"
+ guessNumber);
} else if (message == LARGER) {
max = guessN
guessNumber = (min + max) / 2;
System.out.println("我第" + count + "次猜这个数是"
+ guessNumber);
} else if (message == SUCCESS) {
System.out.println("我成功了");
System.exit(0);//
wait();//Thread.sleep();
} catch (Exception e) {
为您推荐:
扫描下载二维码求大一java使用myeclipse做一个猜数字游戏,要10_java吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:657,929贴子:
求大一java使用myeclipse做一个猜数字游戏,要10收藏
一生只为你一次,高端婚礼策划,你就是婚礼中的主角
写一个死循环,里面写一个if else当n等于10的时候break输出你猜对了。。这是最简单的了吧。
先用random搞出一个随机数,之后就是2楼的做法
ecplise谢谢
登录百度帐号推荐应用

我要回帖

更多关于 用java编写猜数字游戏 的文章

 

随机推荐