A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

有一个抽奖池,该抽奖池中存放了奖励的金额,该抽奖池用一个数组int[] arr = {10,5,20,50,100,200,500,800,2,80,300};
        创建两个抽奖箱(线程)设置线程名称分别为“抽奖箱1”,“抽奖箱2”,随机从arr数组中获取奖项元素并打印在控制台上,格式如下:
       
        抽奖箱1 又产生了一个 10 元大奖
        抽奖箱2 又产生了一个 100 元大奖       
        //.....

1 个回复

倒序浏览
这个难度么?
[mw_shl_code=java,true]
public class Lucky {
       
        public static void main(String[] args) {
                MyRunnable my=new MyRunnable();
               
                Thread t1 = new Thread(my,"抽奖箱1");
                Thread t2=new Thread (my,"抽奖箱2");
               
                t1.start();
                t2.start();
        }
       
}[/mw_shl_code]
[mw_shl_code=java,true]
import java.util.Random;

public class MyRunnable implements Runnable {
        private int[] arr = {10,5,20,50,100,200,500,800,2,80,300};
        public void run() {
                while(true){
                        get();
                }
        }
        private synchronized void get() {
                Random r=new Random();
                int x=r.nextInt(arr.length);
                System.out.println(Thread.currentThread().getName()+"又产生了一个"+arr[x]+"元大奖");
                try {
                        //为方便查看控制台加入200ms时间间隔
                        Thread.sleep(200);
                } catch (InterruptedException e) {
                        e.printStackTrace();
                }
        }

}
[/mw_shl_code]
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马