第16周作业
题目1:编写一个应用程序,利用Java多线程机制,实现时间的同步输出显示。
题目2:编写一个应用程序,利用Java多线程机制,实现猜数字游戏(随机数范围0~100之间的整数)
package sixteen;
import java.util.Date;
/**
* 编写一个应用程序,利用Java多线程机制,实现时间的同步输出显示。
*/
class ThreadMethod implements Runnable{
Thread time;
ThreadMethod(){
time=new Thread(this);
}
@Override
public void run() {
while(true){
Date nowTime=new Date();
System.out.println(nowTime);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
public class TimeThread {
public static void main(String[] args) {
ThreadMethod t=new ThreadMethod();
t.time.start();
}
}
package sixteen;
import java.util.Random;
import java.util.Scanner;
/**
* 编写一个应用程序,利用Java多线程机制,实现猜数字游戏(随机数范围0~100之间的整数)
*/
class FigThread implements Runnable{
Thread num,guess;
int number,random;
Scanner s=new Scanner(System.in);
Random ran=new Random();
FigThread(){
num=new Thread(this);
}
int getNumber() {
return s.nextInt();
}
@Override
public void run() {
if (Thread.currentThread()==num){
random = ran.nextInt(100);
try {
guess=new Thread(this);
guess.start();
Thread.sleep(1000*60*60);
} catch (InterruptedException e) {
e.printStackTrace();
}
}else if (Thread.currentThread()==guess){
number = this.getNumber();
while(number!=random){
if (number>random){
System.out.println("big");
}else if (number<random){
System.out.println("small");
}
number = this.getNumber();
}
System.out.println("yes");
}
}
}
/**
* @author WH
*/
public class NumberThread {
public static void main(String[] args) {
System.out.println("输入0~100的数字:");
FigThread r=new FigThread();
r.num.start();
}
}