File size: 1,376 Bytes
0284885 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | package Thread_case1_package;
import java.util.Random;
public class MyThread extends Thread {
//共享数据
//100块,分成了3个包
static double money = 100;
static int count = 3;
//最小的中奖金额
static final double MIN = 0.1;
@Override
public void run() {
synchronized (MyThread.class) {
if (count == 0) {
System.out.println(getName() + "没有抢到红包!");
} else {
double prize = 0;
if (count == 1) {
//表示此时是最后一个红包
//就无需随机,剩余所有钱都是中奖金额
prize = money;
} else {
//表示第一次,第二次(随机)
Random r = new Random();
double bounds = money - (count - 1) * MIN;
prize = r.nextDouble(bounds);
if (prize < MIN) {
prize = MIN;
}
}
//从money当中,去掉当前中奖的金额
money -= prize;
//红包个数-1
count--;
//本次红包的信息打印
System.out.println(getName() + "抢到了" + prize + "元");
}
}
}
}
|