本帖最后由 孙百鑫 于 2013-6-24 00:19 编辑
题目:模拟妈妈做饭,做饭时发现没有盐了,让儿子去买盐(假设买盐需要3分钟),只有盐买回来之后,妈妈才能继续做饭的过程。
代码:- public class Test10
- {
- public static void main(String args[])
- {
- System.out.println("妈妈做饭中。。。");
- boolean salt=false; //用salt代表盐,初始化为false表示没有盐。
- while(salt==false)
- {
- //用try catch 来处理没有盐的状况。
- try
- {
- System.out.println("忽然就发现没有盐了!!!");
- new NullSalt(true); //让儿子去买盐,调用NullSalt这个类。
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- System.out.println("妈妈继续做饭。。。");
- }
- }
- }
- class NullSalt
- {
- NullSalt(boolean nullsalt)
- {
- if(nullsalt==true)
- {
- System.out.println("随即喊儿子买盐去");
- new Son().getSalt();
- }
- }
- }
- class Son
- {
- public void getSalt()
- {
- try
- {
- Thread thread = Thread.currentThread();
- thread.sleep(180000);
- System.out.println("儿子花了整整三分钟,盐终于买回来了");
- }
- catch(InterruptedException e)
- {
- e.printStackTrace();
- }
- }
- }
复制代码 结果:- 妈妈做饭中。。。
- 忽然就发现没有盐了!!!
- 随即喊儿子买盐去
- 儿子花了整整三分钟,盐终于买回来了
- 妈妈继续做饭。。。
- 忽然就发现没有盐了!!!
- 随即喊儿子买盐去
- 儿子花了整整三分钟,盐终于买回来了
- 妈妈继续做饭。。。
- 忽然就发现没有盐了!!!
- 随即喊儿子买盐去
- 儿子花了整整三分钟,盐终于买回来了
- 妈妈继续做饭。。。
- 忽然就发现没有盐了!!!
- 随即喊儿子买盐去
- 儿子花了整整三分钟,盐终于买回来了
- 妈妈继续做饭。。。
- 忽然就发现没有盐了!!!
- 随即喊儿子买盐去
复制代码 结果一直循环着显示,看了好久没发现问题出在哪儿啊{:soso_e118:} 求高手指点一下,谢谢了!!
|