zxy0307's picture
Upload 2300 files
0284885 verified
Raw History Blame Contribute Delete
1.38 kB
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 + "元");
}
}
}
}