中易网

两个线程,一个线程(a线程)出加数100以内加法题10道.由另一个线程(b线程)给出答案,用java编写

答案:3  悬赏:80  
解决时间 2021-02-13 18:43
两个线程,一个线程(a线程)出加数100以内加法题10道.由另一个线程(b线程)给出答案,用java编写
最佳答案
public class Test{
private final int LENGTH = 10;
private Random random = new Random();
class Task{
public int num1,num2;
public Task(int num1, int num2){
this.num1 = num1;
this.num2 = num2;
}

}

class CreateQuestionsThread extends Thread{
@Override
public void run() {
for (int i = 0; i < LENGTH; i++) {
addTask(new Task(random.nextInt(100), random.nextInt(100)));
}
}
}

class SolveQuestionsThread extends Thread{
@Override
public void run() {
Task task = null;
for (int i = 0; i < LENGTH;) {
task = getTask();
if (null!=task) {
System.out.println("第" + (++i) + "题 : " + task.num1 + " + " +  task.num2 + " = " + (task.num1 + task.num2));
}else{
continue;
}
}
}
}

private LinkedList<Task> list = new LinkedList<Task>();
public void addTask(Task task){
list.add(task);
}

public Task getTask(){
if (null!=list && 0<list.size()) {
return list.remove(0);
}
return null;
}

public Test(){
new CreateQuestionsThread().start();
new SolveQuestionsThread().start();
}

public static void main(String[] args) {
 Test test = new Test();
}
}
全部回答
package com.zhidao20161208; public class ThreadA extends Thread {     private boolean status = true;     public void run() {         int i = 1;         while (status) { //             try {                 Thread.sleep(1);                 int a = getNum();                 int b = getNum();                 BeanOne.list.add(a + "," + b);// 写入ConcurrentLinkedQueue(线程安全的队列可以支持多线程)             } catch (Exception e) {                 e.printStackTrace();             }             i++;             if (i >= 11) {                 status = false;             }         }     }     public int getNum() {         return (int) (Math.random() * 100);     } }package com.zhidao20161208; import java.util.concurrent.ConcurrentLinkedQueue; public class BeanOne extends Thread {     public static ConcurrentLinkedQueue<String> list = new ConcurrentLinkedQueue<String>();     private boolean status = true;     public void run() {         int i =1;         while (status) {             String str = list.poll();// 每次弹出一个元素遵循先入先出的原则             if(str!=null)             {                 i=1;                 String [] num = str.split(",");                 System.out.println(num[0]+"+"+num[1]+"="+(Integer.parseInt(num[0])+Integer.parseInt(num[1])));             }             else             {                 System.out.println("没有生成题目,开始结束倒计时:"+(10-i));                 if(i>=10)                 {                   System.out.println("等待10秒一直没有题目生成,线程结束");                   status = false;                 }                 try {                     Thread.sleep(1000);                 } catch (InterruptedException e) {                     // TODO Auto-generated catch block                     e.printStackTrace();                 }             }             i++;         }     } }public static void main(String[] args) {         ThreadA a = new ThreadA();         a.start();         BeanOne b = new BeanOne();         b.start();     }
public class Test{ private final int LENGTH = 10; private Random random = new Random(); class Task{ public int num1,num2; public Task(int num1, int num2){ this.num1 = num1; this.num2 = num2; } } class CreateQuestionsThread extends Thread{ @Override public void run() { for (int i = 0; i < LENGTH; i++) { addTask(new Task(random.nextInt(100), random.nextInt(100))); } } } class SolveQuestionsThread extends Thread{ @Override public void run() { Task task = null; for (int i = 0; i < LENGTH;) { task = getTask(); if (null!
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
29岁了,护肤保养后用bb霜还需要擦粉底吗
爱抚时女孩阴d为什么会湿
热血,修真类型的歌曲。
骨头断了会不会流血啊?还是只是手骨扭曲?
你的负能量好重,能帮解释一下吗
一心堂玉溪研和镇连锁店在哪里啊,我有事要去
想你的夜晚,难以入梦乡。只好闭着眼睛数吖,
玄兴包子精作鲜包银河坊店这个地址在什么地方
suv车型核载多少人
色麒麟修真传奇工 堕落在天堂完本了吗
南河客栈在什么地方啊,我要过去处理事情
菲林格尔地板无为专卖店在哪里啊,我有事要去
处女膜破了会有什么感觉
刘记老豆腐地址有知道的么?有点事想过去
最受欢迎的网名
推荐资讯
我就发现了怎么三孔插板的接地插孔都带电啊
中国海陆空军最先进的武器分别是什么?
求潜行吧 奈亚子第二季百度云
win7玩三国志11加强版老是跳出
求各位帮忙解决算法精度带来的误差(c++)!
14脚继电器接声光报警
爱较真的性格好不好?不关自己的事也要较真
水里养的植物叶子变黑死掉是为什么?
在什么购物软件上买东西比较可靠?
在美国海淘网上,,价格显示$25,是多少人民
wps 表格 按钮的设置
鹏凯美术学校这个地址在什么地方,我要处理点
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?