黑马程序员技术交流社区

标题: 点招必考类型题 [打印本页]

作者: 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