黑马程序员技术交流社区

标题: 模拟抢红包过程 [打印本页]

作者: wyh2016    时间: 2016-12-16 00:46
标题: 模拟抢红包过程
生成50个红包(金额是随机的,范围在1-10元之间)
创建5个线程代表5个人,然后让这5个人去抢这50个红包,每次抢红包需要300ms的时间,
在控制台打印出(xxx抢了xxx元)(不限定每人抢的次数并且抢到红包后还可以接着抢,每次生成一个红包).
import java.util.Random;
import java.util.Scanner;
public class Test2 {

public static void main(String[] args) {
//启动五个线程
  new pot("1").start();
  new pot("2").start();
  new pot("3").start();
  new pot("4").start();
  new pot("5").start();
}
}
class pot extends Thread {//继承类
private static int hongbao=1;//静态修饰,因为数据要共享
Random r= new Random();//产生随机数
public pot(String name){//有参构造
  super(name);
}

public  void run(){//
  
   while(true){
    synchronized (pot.class) {//
     if(hongbao==51){
      break;
     }
     try {
     Thread.sleep(300);//休眠
    } catch (InterruptedException e) {
     
     e.printStackTrace();
    }
     System.out.println(this.getName()+"抢到了第"+hongbao+"个红包,"+"金额为"+(r.nextInt(10)+1));
     hongbao++;
    }
   }
   
  
}
}


作者: SuperLan    时间: 2016-12-16 09:55
试试共同抢一个50元的红包

作者: FAN8210    时间: 2016-12-16 17:25
有意思,我要好好学

作者: 明月已驻人何在    时间: 2016-12-16 22:12
试试拼手气红包

作者: wyh2016    时间: 2016-12-17 02:29
明月已驻人何在 发表于 2016-12-16 22:12
试试拼手气红包

不会




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2