题目1:编写一个应用程序,利用Java多线程机制,实现时间的同步输出显示。
源代码:1.TimeObject.java
package a; import java.util.Date; public class TimeObject implements Runnable { 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.Main.java
package a; public class Main { public static void main(String[] args) { //ThreadTime tt=new ThreadTime(); // tt.start(); Thread t=new Thread(new TimeObject()); t.start(); } }
运行结果:
题目2:编写一个应用程序,利用Java多线程机制,实现猜数字游戏(随机数范围0~100之间的整数)。
源代码:game.java
package a; import java.util.Random; import java.util.Scanner; public class game{ public static void main(String[] args) { Scanner scanner=new Scanner(System.in); NumberGame num1=new NumberGame(); Thread t=new Thread(num1); t.start(); System.out.println("猜数字游戏开始啦!请输入你猜的数字:"); try { Thread.sleep(1000); while(true) { t.interrupt(); int num2=scanner.nextInt(); if(num1.getNum()==num2) { System.out.println("恭喜你猜对了"); break; } else if(num2<num1.getNum()) { System.out.println("很遗憾猜小了,请重新猜"); }else if(num2>num1.getNum()) { System.out.println("很遗憾猜大了,请重新猜"); } } } catch (InterruptedException e) { e.printStackTrace(); } } } class NumberGame implements Runnable{ int num; public synchronized void run() { Random n=new Random(); num=n.nextInt(100); } public int getNum() { return num; } public void setNum(int num) { this.num = num; } }
运行结果: