黑马程序员技术交流社区
标题:
看视频过程碰到的一个问题及发现解决问题的经过。拿来...
[打印本页]
作者:
夜写意
时间:
2013-7-24 19:57
标题:
看视频过程碰到的一个问题及发现解决问题的经过。拿来...
问题是这样的:编译通过,但是运行的时候在输出完“Thread-0...1”后,cmd就挂掉不动了,就像死循环一样。这个是什么问题啊?代码都是照着视频打的,就是名称不一样而已。其他格式什么都没有变,但是就是挂了,就像死循环一样编译通过,也可以运行,就是程序一直不停止。
问题发现及解决过程:原来是按照视频上面的代码打的,但是在我运行的时候就出现了此问题。然后我就郁闷了,怎么看视频上面老师运行的都没有问题的。我就回头看了一次视频,发现老师的也有同样的问题,而且听到一句:“Ctrl+c“。然后我就试了下,在输出完以后按了“Ctrl+c“。果然跳出程序了。这样才知道“Ctrl+c“可以终止程序执行。惭愧啊。然后我又想,为什么程序不会自己跳出来。就回头看了代码,才发现while(true)这里在 i == 0 以后还是会进入循环,只是没有执行动作而已。所以最后把true改为 i > 0 了。
感慨:1.视频里面老师的代码只是为了让我们学会使用各知识点,所以代码不是完美的。
2.在碰到问题的时候要认真的检查代码。发现问题所在然后解决他。
3.有时候问题会出现在很基础的地方,所以写代码的时候要严谨。
4.看视频要认真,有时候一句话就是一个知识点。
题外话:还是蛮喜欢编程的,虽然现在只是在学习,跟着视频打代码,但是往往或多或少会出现一些问题,但是我很喜欢那种出现问题然后发现他然后解决它的感觉。不知道大家有没有。
class Test implements Runnable
{
private int i = 50;
public void run()
{
while(true)
{
if(i>0)
{
System.out.println(Thread.currentThread().getName()+"..."+i--);
}
}
}
}
class RunnableTest
{
public static void main(String[] args)
{
Test t = new Test();
Thread t1 = new Thread(t);
Thread t2 = new Thread(t);
Thread t3 = new Thread(t);
t1.start();
t2.start();
t3.start();
System.out.println("Hello World!");
}
}
复制代码
作者:
小时晚er
时间:
2013-7-25 11:17
看来,以后看学习视频 要更加仔细了,要不然知识点就在一瞬间就错过了,感谢楼主发帖,
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2