第16周作业

# 题目

  1:编写一个应用程序,利用Java多线程机制,实现时间的同步输出显示。

  2:编写一个应用程序,利用Java多线程机制,实现猜数字游戏(随机数范围0~100之间的整数)。

# 源代码

  ## 题一

import java.util.Date;
/**
 * 编写一个应用程序,利用Java多线程机制,实现时间的同步输出显示。
 * @author 喵
 * @date 2019年12月19日上午9:38:29
 */
public class showCurrenttime extends Thread{
    @Override
    public void run() {
        while(true) {
            Date date = new Date();
            System.out.println(date);
            try {
                sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}

  ## 测试类

public class Test {
    public static void main(String[] args) {
        showCurrenttime sTime = new showCurrenttime();
        sTime.start();
    }
}

  ## 测试结果

 

 

 

  ## 题二

import java.util.Scanner;

/**
 * 编写一个应用程序,利用Java多线程机制,实现猜数字游戏(随机数范围0~100之间的整数)
 * @author 喵
 * @date 2019年12月21日上午11:07:23
 */
public class guessNumber implements Runnable {

    int randomNum;
    int inputNum;

    Thread getNumThread;
    Thread guessNumThread;

    guessNumber() {
        getNumThread = new Thread(this);
    }

    @Override
    public void run() {

        for (int count = 1; count < 6; count++) {
            if (Thread.currentThread() == getNumThread) {
                randomNum = ((int) (Math.random() * 100) + 1);
                try {
                    System.out.println("共有5次机会猜数字!");
                    System.out.println("请输入1~100的随机数,猜猜是否正确:");

                    guessNumThread = new Thread(this);
                    guessNumThread.start();
                    Thread.sleep(1000 * 60 * 10);
                } catch (InterruptedException e) {
                    System.out.println("正确数字为:" + randomNum);
                    System.out.println("机会次数使用完了,再接再厉!");
                    return;
                }
            }
            if (Thread.currentThread() == guessNumThread) {
                Scanner input = new Scanner(System.in);
                System.out.print("这是第" + count + "次猜:");
                inputNum = input.nextInt();
                if (inputNum < randomNum) {
                    System.out.println("结果:小了小了!");
                } else if (inputNum > randomNum) {
                    System.out.println("结果:大了大了!");
                } else {
                    System.out.println("结果:回答正确!");
                    System.out.println("游戏结束!");
                    break;
                }
                if (count == 5) {
                    getNumThread.interrupt();
                }
            }
        }
    }
}

  ## 测试类

public class Test {
    public static void main(String[] args) {
        guessNumber gN = new guessNumber();
        gN.getNumThread.start();
    }
}

  ## 测试结果

posted @ 2019-12-21 09:43  摸凹猫  阅读(149)  评论(0)    收藏  举报