黑马程序员技术交流社区

标题: 郁闷死了啊 求大神进来看看 哪里有错 怎么报错了啊 [打印本页]

作者: wodenhaowzg    时间: 2013-7-1 22:58
标题: 郁闷死了啊 求大神进来看看 哪里有错 怎么报错了啊
class C_Dxc_StopXianCheng
{

        public static void main(String[] args)
        {
                StopThread st = new StopThread();
                Thread t1 = new Thread(st);
                Thread t2 = new Thread(st);
                t1.start();
                t2.start();
               
                int num = 0;                       
                while(true)
                {
                        if(num++ == 60)
                        {
                                //st.changFlag();
                                t1.interrupt();
                                t2.interrupt();
                                break;
                        }
                        System.out.println(Thread.currentThread().getName() + "----" + num);
                }
                System.out.println("over");
               

        }

}

class StopThread implements Runnable
{
        private boolean flag = true;
        public void run()
        {
                while(flag)
                {
                        try
                        {
                                wait();
                        }
                        catch(InterruptedException e)
                        {
                                System.out.println(Thread.currentThread().getName() + "------Exception");
                                flag = false;
                        }
                        System.out.println(Thread.currentThread().getName() + "------run");
                }
        }
        public void changFlag()
        {
                flag = false;
        }
}

跟视频里面的代码一模一样 为什么eclipse会出现这样的错误  郁闷死了


作者: wodenhaowzg    时间: 2013-7-1 23:20
郁闷死了  这段代码复制到记事本上  用DOS打印 编译通过  怎么打印的时候也报错

Exception in thread "main" java.lang.NoClassDefFoundError: Text
Caused by: java.lang.ClassNotFoundException: Text
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: Text.  Program will exit.

这是什么错误 郁闷啊 。。。

作者: wodenhaowzg    时间: 2013-7-1 23:30
额 记事本上面的问题知道了。我脑子乱了 保存的时候 文件名和类名不一致 晕倒。
作者: j816326    时间: 2013-7-2 01:34
try语句中不能用wait()方法。一等待了。就需要被人唤醒才能继续往下走。换成Thread.sleep();方法即可。
作者: 贾永长    时间: 2013-7-2 08:26
要改动的地方:
  1. try
  2.                          {
  3.                                  Thread.sleep(1800);
  4.                          }
复制代码

作者: wangpan    时间: 2013-7-2 15:47
如果使用Wait方法需要通过Lock进行互斥,不然会抛出java.lang.IllegalMonitorStateException异常。
是因为你的run()没有同步,而老师的是同步了的。
作者: wodenhaowzg    时间: 2014-1-10 02:40
郁闷 找到到编辑的选项 怎么把帖子改成 已解决  。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2