第16周作业

题目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(); } } }

运行结果

原文地址:https://www.cnblogs.com/12-abc/p/12060476.html