有下面两个类:
package xx.yy;
class A
{ public int pt = 0;
public int pr = 1;
A(){}
}package xx.yy;
class B
{
B(){}
public static void main(String []args)
{
A a = new A();
System.out.println(a.pr+" "+a.pt);
}
}编译A.java后在当前目录发现A.class,然后编译B.java,报如下错:
B.java:7: cannot resolve symbol
symbol  : class A
location: class xx.yy.B
                A a = new A();
                ^
B.java:7: cannot resolve symbol
symbol  : class A
location: class xx.yy.B
                A a = new A();
                          ^
2 errors请指教。

解决方案 »

  1.   

    java *.java可以搞定这个问题如果更复杂的推荐使用ant
      

  2.   

    javac *.java
    嘿嘿 刚刚少了个字母
      

  3.   

    javac *.java
    或是在B的文件的开头加上import xx.yy;
      

  4.   

    楼上的都有问题,特别是waitray(知秋一叶)的加import,同一个包的还import有什么用楼主在xx文件夹的上一层,运行javac xx/yy/*.java
    也可以先A后B
      

  5.   

    我找到问题了,应该是在Class A前加public,以及在A()前加public.还有一个问题没有解决,那就是为什么编译时不产生xx和yy文件夹,然后把相应生成的类放进去呢?
    是不是要在编译时加个参数呢?怎么加呢?谢谢楼上各位给我的帮助,我过会就来结贴。恳请楼下的兄弟姐妹帮忙回答一下这个问题。
      

  6.   

    不用加public也可以的, 好象是javac 后面加个-d吧,忘了,你查查,这种打包的不是简单直接编的,要么就有这问题
    =================================================================
            角落里的理想
                    http://blog.csdn.net/zdsdiablo/
                                     --------十分钟年华老去
    =================================================================
      

  7.   

    正常也应该产生的,但不是直接用javac 编没有package的文件那样编哦,还是上面说的,你查查javac的参数列表吧。
    =================================================================
            角落里的理想
                    http://blog.csdn.net/zdsdiablo/
                                     --------十分钟年华老去
    =================================================================
      

  8.   

    楼主,你要的文件夹不是已经有了吗,不就是你的java文件所在的文件夹吗?
    如果你没用ide,没有把class文件同源文件分开的话至于用ide的话,如果class文件同源文件是单独的文件夹,编译之后在classes文件夹(根据ide)会自动生成package中的文件夹
      

  9.   

    javac A.java B.java 或则 javac *.java
    都可以