work
来源:互联网 发布:linux 7种运行级别 编辑:程序博客网 时间:2024/05/16 06:13
package cn.dustray;
import java.util.Random;
publicclassTestMain{
publicstaticfinalObject lock=newObject();
publicstaticboolean isGuessDone=false;
publicstaticint bingoNum;
publicstaticvoid main(String[] args){
MyRunnable1 ru1 =newMyRunnable1();
newThread(ru1).start();
MyRunnable2 ru2 =newMyRunnable2();
newThread(ru2).start();
}
}
classMyRunnable1implementsRunnable{
@Override
publicsynchronizedvoid run(){
while(!TestMain.isGuessDone)
try{
Thread.sleep(200);
synchronized(TestMain.lock){
setBingoNum();
}
}catch(InterruptedException e){
e.printStackTrace();
}
}
publicvoid setBingoNum(){
Random r =newRandom();
TestMain.bingoNum= r.nextInt(99)+1;
}
}
classMyRunnable2implementsRunnable{
publicstaticfinalint SMALLER=-1;
publicstaticfinalint BINGO=0;
publicstaticfinalint BIGGER=1;
@Override
publicvoid run(){
while(!TestMain.isGuessDone)
try{
Thread.sleep(200);
synchronized(TestMain.lock){
Random r =newRandom();
if(judgeNum(r.nextInt(99)+1)){
TestMain.isGuessDone=true;
}
}
}catch(InterruptedException e){
e.printStackTrace();
}
}
publicboolean judgeNum(int guessNum){
System.out.print("("+ guessNum+":"+TestMain.bingoNum+")");
switch(TestMain.bingoNum< guessNum? BIGGER:(TestMain.bingoNum== guessNum? BINGO: SMALLER)){
case SMALLER:
System.out.println("猜小了");
break;
case BINGO:
System.out.println("猜对了");
returntrue;
case BIGGER:
System.out.println("猜大了");
break;
}
returnfalse;
}
}
阅读全文
0 0
- WORK
- WORK
- work
- WORK
- Work
- work
- WORK
- work
- Work
- work
- work
- work
- work
- Work
- Work
- work
- work
- Work
- delphi FMX使用模糊集合进行边缘提取
- centios下搭建jenkins+maven
- Mysql数据异常恢复
- Android签名
- There is no getter for property named 'username' in 'class java.lang.String错误!
- work
- Android 把Libraray 打包成Jar
- CentOS7 使用YUM 安装MySQL5.7(yum install mysql5.7)
- python之zip()函数
- git学习笔记
- CentOS 搭建 FastDFS-5.0.5集群
- [胡说八道]我的时间我做主——读《小强升职记》有感
- HTML基础入门
- Apache Tiles 学习(三)、Apache Tiles的基本使用