黑马程序员技术交流社区
标题:
点招必考类型题
[打印本页]
作者:
dd6434541
时间:
2016-5-9 00:28
标题:
点招必考类型题
public class Test17 {
/*
* 2.有100个限量版的水杯,但是只能通过实体店和
*
* 官网才能进行购买,并且分别统计卖了多少。请
*
* 用线程进行模拟并设置线程名称用来代表售出途
*
* 径,再将信息打印出来。 比如(实体店卖出第1个,总共剩余n
*
* 个..)
*/
public static void main(String[] args) {
glass g = new glass();
new Thread(g, "实体店").start();
new Thread(g, "官网").start();
}
}
class glass implements Runnable {
// 定义卖出的数量跟剩余的数量
private int glass = 1;
private int number = 100;
//定义实体店跟官网卖出去的数量统计
private int count1 = 0;
private int count2 = 0;
//重写run方法
public void run() {
//将调用的名字放入到变量中
String name = Thread.currentThread().getName();
while (true) {
synchronized (this) {
//当杯子卖出的数量大于100个跳出循环
if (glass > 100)
break;
//判断是否是当中的一个线程。并将其输出
if ("实体店".equals(name)) {
//输出杯子卖出去++ 总个数--,并且店铺统计++
System.out.println(name + "卖出第" + glass++ + "个,总共剩余"
+ --number + "个");
count1++;
} else {
System.out.println(name + "卖出第" + glass++ + "个,总共剩余"
+ --number + "个");
count2++;
}
}
}
//将店铺卖出的统计输出
if ("实体店".equals(name)) {
System.out.println(name + "卖了" + count1 + "个");
} else {
System.out.println(name + "卖了" + count2 + "个");
}
}
}
作者:
18735346124
时间:
2016-5-9 00:37
谢谢分享...
作者:
`爱吃猫的鱼
时间:
2016-5-9 09:08
好厉害的说。
作者:
toukya
时间:
2016-5-9 09:24
我怎么看不懂的????????????????????、、、水平太烂了
作者:
安分的心灵
时间:
2016-5-9 13:12
标记一下,晚点看看
作者:
xiaogui
时间:
2016-5-9 13:15
留名,先顶一下,再慢慢看。
作者:
xzy645181797
时间:
2016-5-9 22:09
类似于火车站买票的例子 要注意的就是得加个同步代码块
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2