(1)在main方法中启动两个线程
(2)第1个线程循环随即打印100以内的整数
(3)直到第2个线程从键盘读取了'Q'命令
import java.util.Scanner; /** * @author 小白 * @version 1.0 */ public class Homework01 { public static void main(String[] args){ A a = new A(); B b = new B(a); a.start(); b.start(); } } class A extends Thread{ private boolean loop=true; @Override public void run() { while(loop){ System.out.println((int)(Math.random()*100+1)); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } public void setLoop(boolean loop) { this.loop = loop; } } class B extends Thread{ private A a; private Scanner scanner = new Scanner(System.in); public B(A a) { this.a = a; } @Override public void run() { while(true) { //接受到用户的收入 System.out.println("请输入你的指令(Q)表示退出:"); char key = scanner.next().toUpperCase().charAt(0); if(key=='Q'){ //以通知的方式结束A线程 a.setLoop(false); System.out.println("B线程退出"); break; } } } }