A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 刘海陆 于 2013-4-3 14:30 编辑

我在编译一下代码的时候,出现了乱码,是什么情况?
class Res{
        private String name;
        private int count=0;
        private boolean flag = false;
        public synchronized void set(String name){
                if(flag)
                        try{wait();}catch(Exception e){};
                this.name = name;
                System.out.println(Thread.currentThread().getName()+"----"+name+(++count));
                flag = true;
                notify();
        }
        public synchronized void out(){
                if(!flag)
                        try{wait();}catch(Exception e){};
                System.out.println(Thread.currentThread().getName()+"-----------"+name+count);
                flag = false;
                notify();
        }
}

class Pro implements Runnable{
        private Res s;
        Pro(Res s){
                this.s = s;
        }
        public void run(){
                while(true){
                        s.set("商品");
                }
        }
}

class Con implements Runnable{
        private Res s;
        Con(Res s){
                this.s = s;
        }
        public void run(){
                while(true){
                        s.out();
                }
        }
}

class ProConDemo
{
        public static void main(String[] args)
        {
                Res s = new Res();
                new Thread(new Pro(s)).start();
                new Thread(new Pro(s)).start();
                new Thread(new Con(s)).start();
                new Thread(new Con(s)).start();

        }
}
编译时候出现的乱码:












wwwww.JPG (19.13 KB, 下载次数: 15)

编译时,出现的乱码

编译时,出现的乱码

评分

参与人数 1技术分 +1 收起 理由
张熙韬 + 1

查看全部评分

8 个回复

倒序浏览
求解,求解
回复 使用道具 举报
大哥,我用了1个小时,终于帮你查到原因了,CON是串口的设备名,属于系统的预留名。 所以不能使用等以系统设备名为文件名的任何文件。
你把代码的CON类改成CON1或者其他就可以用了,你编译后CON类是没.class文件的。。。。。。

评分

参与人数 1技术分 +1 收起 理由
张熙韬 + 1

查看全部评分

回复 使用道具 举报
害的我饿了半天,刚吃完饭,说说我查找BUG的过程吧
首先,我把主函数里的代码全注释掉,但是依然编译通不过,所以我断定问题出现在其他类里。于是啊,我就看啊看啊看。。。。对比着我以前记录的代码看。。。。。。看了半天也看不出有神马问题啊。。。。我又将Pro和Con两个类的代码全部注释掉,奇了怪了。。。。编译竟然不叫了(在CMD下编译BIOS会响)。。。。我兴奋了。。。。用MyEclipse编译一遍,发现抛出NoClassDefFoundError。。。。。。这不就是缺少类么,怎么可能???于是我就把两个类名分别改了一次,发现CON类竟然有问题,所以我赶紧查百度啊。。。。。。这才发现刚才说的问题了。
这就是我查找此题问题的全过程,当然中途也走了很多弯路。。。。不过最终还是找到了。。。。

评分

参与人数 1技术分 +2 收起 理由
张熙韬 + 2 鼓励一下哦!继续加油!

查看全部评分

回复 使用道具 举报
张子凯 发表于 2013-4-1 19:08
害的我饿了半天,刚吃完饭,说说我查找BUG的过程吧
首先,我把主函数里的代码全注释掉,但是依然编译通不过 ...

嗯嗯,就是这个问题,我苦恼了一个下午,终于明白了,谢谢哈,
回复 使用道具 举报
哥们,我爱死你了,   
回复 使用道具 举报
恳请版主, 兄台加分{:soso_e183:}
回复 使用道具 举报
刘海陆 发表于 2013-4-1 19:15
嗯嗯,就是这个问题,我苦恼了一个下午,终于明白了,谢谢哈,

不客气。。。。
回复 使用道具 举报
如果仍有问题,请继续追问,如果问题已解决,请将分类改为已解决,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马