1.一个线程随机生成数字,以及判断是否才对
2.另一个线程接受用户的收入数字
package www.whf.test2;
import java.util.Scanner;
public class Test2 {
static Thread t1 = null;
public static void main(String[] args) {
t1 = new Thread(() -> {
int i = 1;
int num0;
while (true) {
System.out.println("第" + (i++) + "轮");
num0 = ((int) ((Math.random() * 10)));
System.out.println("请猜");
while (true) {
synchronized (t1) {
try {
t1.wait();
} catch (InterruptedException e1) {
e1.printStackTrace();
}
}
// System.out.println("数字"+num0);
if (num0 == num.getnum()) {
System.out.println("猜中了");
break;
} else if (num0 > num.getnum()) {
System.out.println("猜小了");
} else {
System.out.println("猜大了");
}
}
}
});
t1.start();
new Thread(() -> {
Scanner sc = new Scanner(System.in);
while (true) {
num.setnum(sc.nextInt());
System.out.println("我猜是" + num.getnum());
synchronized (t1) {
t1.notifyAll();
}
}
}).start();
}
static class num {
static int num;
static boolean flag = true;
public static synchronized void setnum(int num) {
Test2.num.num = num;
}
public static synchronized int getnum() {
return num;
}
}
}