Download Thread_project/Thread_case_module/src/Thread_case1_package/MyThread.java from zxy0307/Java: direct link, hf CLI and curl.
- Browser
- Download file 1.38 kB
-
https://huggingface.co/zxy0307/Java/resolve/main/Thread_project/Thread_case_module/src/Thread_case1_package/MyThread.java
- Command line
-
hf download hf://zxy0307/Java/Thread_project/Thread_case_module/src/Thread_case1_package/MyThread.java
-
curl -L -o MyThread.java https://huggingface.co/zxy0307/Java/resolve/main/Thread_project/Thread_case_module/src/Thread_case1_package/MyThread.java
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; | |
| 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 + "元"); | |
| } | |
| } | |
| } | |
| } | |