目标效果:
代码:
package Nine;
import java.util.Random;
/**
* 用两个线程玩猜数字游戏,第一个线程负责随机给出1~100之间的一个整数,第二个线程负责猜出这个数。
* 要求每当第二个线程给出自己的猜测后,第一个线程都会提示“猜小了”、“猜大了”或“猜对了”。 猜数之前,要求第二个线程要等待第一个线程设置好要猜测的数。
* 第一个线程设置好猜测数之后,两个线程还要相互等待。
* 其原则是:第二个线程给出自己的猜测后,等待第一个线程给出的提示;第一个线程给出提示后,等待给第二个线程给出猜测。
* 如此进行,直到第二个线程给出正确的猜测后,两个线程进入死亡状态。
*
* @author Vivinia
*
*/
public class GuessNum {
public static void main(String args[]) {
GameGroup game = new GameGroup();
new Thread(game,"giveNumberThread").start(); //实例化两个线程,并命名
new Thread(game,"guessNumberThread").start();
}
}
class GameGroup implements Runnable { //两个人在一个游戏里
int realNumber, guessNumber, min = 1, max = 100, message = 0; //message用来标志是否猜中
boolean guess = false, give = false; //guess如果为false代表还没有猜,true代表已经猜完;give为false代表还没给出答案,true代表已经给出
public void run() {
for