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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

1 个回复

倒序浏览
这个难度么?
[Java] 纯文本查看 复制代码
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();
	}
	
}

[Java] 纯文本查看 复制代码
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();
		}
	}

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