作业2用两个线程玩猜数字游戏
来源:互联网 发布:i wrote python 编辑:程序博客网 时间:2024/05/17 23:47
用两个线程玩猜数字游戏,第一个线程负责随机给出1~100之间的一个整数,第二个线程负责猜出这个数。要求每当第二个线程给出自己的猜测后,第一个线程都会提示“猜小了”、“猜大了”或“猜对了”。猜数之前,要求第二个线程要等待第一个线程设置好要猜测的数。第一个线程设置好猜测数之后,两个线程还要相互等待,其原则是:第二个线程给出自己的猜测后,等待第一个线程给出的提示;第一个线程给出提示后,等待给第二个线程给出猜测,如此进行,直到第二个线程给出正确的猜测后,两个线程进入死亡状态。
package xiancheng;public class test2 {public static void main(String[] args) {Game game=new Game();game.aThread.start();;game.bThread.start();;}}class Game implements Runnable{int a,b,min=0,max=100;int flag;final int small=-1,large=1,success=0;Thread aThread,bThread; Game() { aThread = new Thread(this); bThread = new Thread(this); } @Override public void run() { for (int count = 1; true; count++) { if (Thread.currentThread() == aThread) { if (count == 1) { a = (int) (Math.random() * 100) + 1; System.out.println("随机数为"+a+",猜测是多少?"); } else { if (a > b) { flag = small; System.out.println("猜小了"); }else if (a < b) { flag =large; System.out.println("猜大了"); } else { flag = success; System.out.println("猜对了"); return; } } try { Thread.sleep(2000); } catch (Exception e) { e.printStackTrace(); } } if (Thread.currentThread() == bThread) { if (count == 1) { b= (min + max) / 2; System.out.println("第" + count + "次猜:" + b); } else { if (flag == small) { min = b; b = (min + max) / 2; System.out.println("第" + count + "次猜:"+ b); } else if (flag == large) { max = b; b= (min + max) / 2; System.out.println("第" + count + "次猜:"+ b); } else if (flag == success) { System.out.println("成功了"); return; } } try { Thread.sleep(2000); } catch (Exception e) { e.printStackTrace(); } } } } }
阅读全文
0 0
- 作业2用两个线程玩猜数字游戏
- 用两个线程玩猜数字游戏.
- 用两个线程玩猜数字游戏
- 用两个线程玩猜数字游戏,第一个线程负责随机给出1~100之间的一个整数,第二个线程负责猜出这个数。
- 用两个线程玩猜数字游戏,第一个线程负责随机给出1~100之间的一个整数,第二个线程负责猜出这个数。
- 用两个线程玩猜数字游戏,第一个线程负责随机给出1~100之间的一个整数,第二个线程负责猜出这个数
- 用两个线程玩猜数字游戏,第一个线程负责随机给出1~100之间的一个整数,第二个线程负责猜出这个数。要求每当第二个线程给出自己的猜测后,第一个线程都会提示“猜小了”、“猜大了”或“猜对了”。猜数之前,要
- 用两个线程玩猜数字游戏,第一个线程负责随机给出1~100之间的一个整数,第二个线程负责猜出这个数。要求每当第二个线程给出自己的猜测后,第一个线程都会提示“猜小了”、“猜大了”或“猜对了”。猜数之前,要
- 用两个线程玩猜数字游戏,第一个线程负责随机给出1~100之间的一个整数,第二个线程负责猜出这个数。要求每当第二个线程给出自己的猜测后,第一个线程都会提示“猜小了”、“猜大了”或“猜对
- 用两个线程玩猜数字游戏,第一个线程负责随机给出1~100之间的一个整数,第二个线程负责猜出这个数。要求每当第二个线程给出自己的猜测后,第一个线程都会提示“猜小了”、“猜大了”或“猜对
- 用两个线程玩猜数字游戏,第一个线程负责随机给出1~100之间的一个整数,第二个线程负责猜出这个数。要求每当第二个线程给出自己的猜测后,第一个线程都会提示“猜小了”、“猜大了”或“猜对
- lesson 10:用两个线程玩猜数字游戏,第一个线程负责随机给出1~100之间的一个整数,第二个线程负责猜出这个数。要求每当第二个线程给出自己的猜测后,第一个线程都会提示“猜小了”、“猜大了”或“猜
- 两个线程模拟猜数字
- java基础作业之猜数字游戏;
- AI_会玩“猜数字游戏”的AI
- 小时候玩的猜数字游戏,原来程序这么简单
- 猜数字游戏 2
- 猜数字一个人玩多没意思,试试双人猜数字游戏吧
- SpringBoot可执行包结构
- eclipse中git从远程clone项目报错:cannot open git-upload-pack
- php中的类与对象(遍历)
- 面试宝典---java程序设计的基本概念
- layui注意事项
- 作业2用两个线程玩猜数字游戏
- Codeforces Round #450 (Div. 2) 题解
- 怎么在Android Studio 中编译的APK兼容x86的CPU架构
- [Rcode]线性回归
- 如何理解softmax(柔性最大),为什么不用别的归一化的函数?
- js毫秒数自定义时间格式转换
- js引用对象和引用一般数据类型的注意点
- Activity的实例化过程
- HybridApp