题目1:编写一个应用程序,利用Java多线程机制,实现时间的同步输出显示。
代码
package hh; public class Test { public static void main(String[] args) { Time t=new Time(); t.start(); } }
package hh;
import java.util.*;
public class Time extends Thread{
public void run(){//方法重写
Date date=null;
while(true){
date=new Date();
System.out.println(date);//显示当前时间
try{
Thread.sleep(1000);//休眠
}catch(InterruptedException e){
e.printStackTrace();
}
}
}
}
运行结果
题目2:编写一个应用程序,利用Java多线程机制,实现猜数字游戏(随机数范围0~100之间的整数)。
代码
package nn; import java.util.*; public class GuessNumber implements Runnable { int number; public synchronized void run() { Random r=new Random(); number=r.nextInt(100); } public int getNumber() { return number; } public void setNumber(int number) { this.number = number; } }
package nn; import java.util.*; public class Test { public static void main(String[] args) { Scanner s=new Scanner(System.in);
System.out.println("请输入范围在0~100之间的一个你猜的数字:"); GuessNumber n=new GuessNumber(); Thread thread =new Thread(n); thread.run(); try { thread.sleep(1000); while(true){ thread.sleep(1000); thread.interrupt(); int number1=s.nextInt(); if(number1==n.getNumber()){ System.out.println("You are right!"); } else if(number1<n.getNumber()){ System.out.println("你猜小了!"); } else { System.out.println("你猜大了!"); } } } catch (InterruptedException e) { e.printStackTrace(); } } }
运行结果