java 的小问题 多人打水

代码  来啦

package cn.demo;

 

public class Demo02_Water {

public static void main(String[] args) {

// 1:实例化一个well

Well well = new Well();

// 实例化10个人

for (int i = 1; i <= 10; i++) {

Person p = new Person(well);

p.start();

}

 

}

}

 

class Well {

private int water = 100;

public void widthDraw() {

synchronized (this) {

water--;

System.err.println("?个人,打了第?桶水,里面还有:" + water + "桶水");

}

}

}

 

class Person extends Thread {

Well well;// 接收这个对象

 

public Person(Well w) {

this.well = w;

}

 

@Override

public void run() {

// 10桶水

for (int i = 1; i <= 10; i++) {

well.widthDraw();

}

}

}

 

   ?             ?

1个人,打了第1桶水,里面还有:99桶水

1个人,打了第2桶水,里面还有:98桶水

2个人,打了第1桶水,里面还有:97桶水

10个人,打了第1桶水,里面还有:96桶水

1个人,打了第3桶水,里面还有:95桶水

 最主要的就是传参数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值