Java第十六次作业
题目1:编写一个应用程序,利用Java多线程机制,实现时间的同步输出显示。
源代码:
1、TimeObject类
package cn.edu.ccut.po9; import java.util.Date; class TimeObject implements Runnable { @Override 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、Tast类
package cn.edu.ccut.po9; import cn.edu.ccut.po9.TimeObject; public class Tsat { public static void main(String[] arge) { Thread t=new Thread(new TimeObject()); t.start(); } }
运行截图
题目2:编写一个应用程序,利用Java多线程机制,实现猜数字游戏(随机数范围0~100之间的整数)。
源代码:
1、Numble类
package cn.edu.ccut.po10; import java.util.Random; class Numble implements Runnable{ int num;//定义变量 public synchronized void run() {//定义同步方法 Random n= new Random();//定义Random对象 num=n.nextInt(100);//赋值0-100之间的随机数 } public int getNum() { return num; } public void setNum(int num) { this.num=num; } }
2、Tast类
package cn.edu.ccut.po10; import java.util.Scanner; public class Tast { public static void main(String[] args) { Scanner reader=new Scanner(System.in); Numble num1=new Numble(); Thread t= new Thread(num1);//定义目标对象t t.run();//t线程进入等待队列 System.out.println("请输入你猜的数字"); try { while(true) { Thread.sleep(10); t.interrupt(); int num2=reader.nextInt(); if(num1.getNum()==num2) { System.out.println("猜对了"); break; } else if(num2<num1.getNum()){ System.out.println("猜小了"); }else System.out.println("猜大了"); } } catch (InterruptedException e) { e.printStackTrace(); } } }
运行截图