-3

私はJavaプログラミング言語に不慣れです。パッケージネームパックを作りました。これには、2つのJavaクラスA.javaとB.javaが含まれています。私はjdk1.5とtomcatを使用しています。Aタイプのオブジェクトを作成し、それをB.javaに配置したいと思います。以下は私がこれを行おうとしている方法ですが、2つのエラーメッセージが表示されます。

パッケージパック;

A.java

public class A {

        private String str;

    public A(){} //constructor method
    public void setName(String str){
        this.str = str;
    }
    public String getName(){
        return str;
    }
}

B.java

public class B {

        private String temp;

    public B(){} //constructor method

    public String getTemp(){
        A a = new A();      //creating an object of A type
        temp = a.getName();  //assigning the value of getName method to temp variable
        return temp;        // returning temp variable  
    }
}

Jdk1.5、tomcat、およびパッケージパックは以下のディレクトリにあります

D:\ java>

以下は、A.javaとB.javaをコンパイルするために私が取っているステップです。

A.javaのコンパイル

D:\>cd java
D:\Java>cd pack
D:\Java\pack>set path=D:\java\jdk1.5\bin  (**setting up path of jdk1.5**)
D:\Java\pack>javac A.java (**Compiling A.java. Compiled it successfully**)

B.javaのコンパイル

D:\Java\pack>javac A.java (**Compiling B.java. Unable to compile**)

**(Error Message is below)**

D:\Java\pack>javac B.java
B.java:9: cannot find symbol
symbol  : class A
location: class pack.B
                A a = new A();      //creating an object of A type
                ^
B.java:9: cannot find symbol
symbol  : class A
location: class pack.B
                A a = new A();      //creating an object of A type
                          ^
2 errors
4

2 に答える 2

1

ディレクトリからクラスをコンパイルする代わりにD:\Java\pack、パッケージのベースディレクトリに移動し、D:\Javaそこからコンパイルして実行します。

D:\Java> javac pack\A.java
D:\Java> javac pack\B.java

環境変数が設定されていないことを確認するか、次のオプションを使用してクラスパスを指定してください。CLASSPATH-cp

D:\Java> javac -cp . pack\A.java
D:\Java> javac -cp . pack\B.java

(注:クラスパスに、で-cp .示される現在のディレクトリを含めることを意味します)。.

于 2012-11-20T12:39:22.903 に答える
0

クラスAとクラスBの両方にパッケージステートメントがあることを確認してください

A.java

package pack;
public class A{
....
}

B.java

package pack;
public class B{
...
}
于 2012-11-20T12:35:36.010 に答える