黑马程序员技术交流社区
标题:
模拟妈妈做饭这个题,做好后发现结果一直循环,求高手!
[打印本页]
作者:
贾永长
时间:
2013-6-23 17:03
标题:
模拟妈妈做饭这个题,做好后发现结果一直循环,求高手!
本帖最后由 孙百鑫 于 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:} 求高手指点一下,谢谢了!!
作者:
Super_Class
时间:
2013-6-23 17:05
测试题尽量还是应该独立完成的
作者:
贾永长
时间:
2013-6-23 17:20
恩恩,独立完成。刚才回头又仔细看了一下,发现是while捣的鬼,改成if就OK了!{:soso_e130:}
作者:
王靖远
时间:
2013-6-23 17:49
while(salt==false)这句出问题了。salt初始化是false false==false 和while(true)一样。
作者:
王靖远
时间:
2013-6-23 17:49
while是循环语句不是判断语句
作者:
贾永长
时间:
2013-6-23 17:58
恩恩,记住了,小小的if判断和while循环用错了,结果就大大的不一样了。 谢谢了啊!{:soso_e156:}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2