第十五周java作业 -猜数字
来源:互联网 发布:[网络剧]老炮儿 编辑:程序博客网 时间:2024/06/16 08:43
public class example { /* 用两个线程玩猜数字游戏,第一个线程负责随机给出1~100之间的一个整数, 第二个线程负责猜出这个数。要求每当第二个线程给出自己的猜测后,第一个线程都会提示“猜小了”、“猜大了”或“猜对了”。猜数之前 ,要求第二个线程要等待第一个线程设置好要猜测的数。第一个线程设置好猜测数之后, 两个线程还要相互等待,其原则是:第二个线程给出自己的猜测后,等待第一个线程给出的提示;第一个线程给出提示后,等待给第二个线程给出猜测 ,如此进行,直到第二个线程给出正确的猜测后,两个线程进入死亡状态。*/ public static void main(String args[]) { Number number = new Number(); number.Thread1.start(); number.Thread2.start(); } } class Number implements Runnable { int num; int Number1,Number2,min = 0,max = 100,message; Thread Thread1,Thread2; Number() { Thread1 = new Thread(this); Thread2 = new Thread(this);} public int getNum() { return num; } public void setNum(int num) { this.num = num; } public void run() { for (int count = 1; true; count++) { if (Thread.currentThread() == Thread1) { if (count == 1) { Number1=getNum(); System.out.println("随机给你一个数为"+Number1+",猜猜是多少"); } else { if (Number1 > Number2) { System.out.println("你猜小了"); } else if (Number1 <Number2) { System.out.println("你猜大了"); } else { System.out.println("恭喜,你猜对了"); return; } } try { Thread.sleep(1500); } catch (Exception e) { } } if (Thread.currentThread() == Thread2) { if (count == 1) { Number2 = (min + max) / 2; System.out.println("我第" + count + "次猜这个数:" + Number2); } else { if (Number1 > Number2) { min = Number2; Number2 = (min + max) / 2; System.out.println("我第" + count + "次猜这个数是" + Number2); } else if (Number1 < Number2) { max = Number2; Number2 = (min + max) / 2; System.out.println("我第" + count + "次猜这个数是" + Number2); } else { System.out.println("我成功了"); return; } } try { Thread.sleep(1500); } catch (Exception e) { } } } } }``
结果
随机给你一个数为0,猜猜是多少
我第1次猜这个数:50
你猜大了
我第2次猜这个数是25
你猜大了
我第3次猜这个数是12
你猜大了
我第4次猜这个数是6
你猜大了
我第5次猜这个数是3
你猜大了
我第6次猜这个数是1
你猜大了
我第7次猜这个数是0
恭喜,你猜对了
我成功了
“`
阅读全文
0 0
- 第十五周java作业 -猜数字
- 第十五周Java作业
- 第十五周Java作业
- 第十五周作业:Java多线程
- 第十五周Java作业--线程
- 12.6第十五周JAVA作业
- 第十五周作业Java集合框架-泛型
- 第十五周作业 1.0
- 第十五周作业1
- 第十五周作业3
- 第十五周作业2
- 第十五周作业3.1
- 第十五周作业3.2
- 第十五周作业
- 第十五周Java作业-1线程同步机制
- 第十五周作业任务一
- 第十五周作业任务二
- 算法第十五周作业01
- RSA算法Java实现
- 14.进程间通信
- Git 配置 SSH密钥
- 获取url参数
- IP和MAC地址绑定的好处和作用
- 第十五周java作业 -猜数字
- AnglurJS 服务的基本使用
- 记录一个Java获取整个Exception信息的方法
- <编译原理>自顶向下语法分析
- 单例模式-萌新理解
- ElGamal算法实现
- 给应用开发者编程的十一条个建议
- 四个智能指针
- 洛谷 P1605 迷宫