1

私は次のようにJavaコードにインターフェースを実装しようとしています:

package PJ1;

public class Fraction implements FractionInterface, Comparable<Fraction>{

現在、Fraction.java ファイルと同じディレクトリにある FractionInterface.class は、パッケージ PJ1 にも含まれています。

package PJ1;

public interface FractionInterface{

しかし、Fraction.java ファイルをコンパイルしようとすると、次のエラーが発生します。

D:\CSC220\PJ1\Fraction.java:36: error: cannot find symbol
public class Fraction implements FractionInterface, Comparable<Fraction>
                                 ^

関連するすべてのファイルが同じディレクトリにあり、すべてのクラス ファイルを同じパッケージに入れようとしているので、困惑しています。何か案は?

4

4 に答える 4

3

次のようにコンパイルしてみてください。

たとえば、c: Fraction.java と FractionInterface.java の両方の Java ファイルがあり、パッケージ用のフォルダーをまだ作成していない場合は、次のように試してください。

c:> javac -d . *.java

これにより、必要なパッケージを作成してすべてのファイルがコンパイルされます。パッケージ用のフォルダーを手動で作成する必要はありません。

パッケージ用のフォルダーを既に作成しており、既にパッケージ内にいる場合は、次のように言います。

c:\PJ1 の場合、次のように javac を使用して簡単にコンパイルできます。

c:\PJ1> javac *.java

これがうまくいくことを願っています。

于 2013-09-28T18:30:57.533 に答える
2

私の推測では、ファイルはPJ1、コンパイラが期待する場所に対して相対的に呼び出されたディレクトリにはありません。フォルダーを作成し、両方のファイルをその場所に移動します。少しわかりやすくするために、フォルダー構造が次のようになっているとしましょう

myfolder
 +-PJ1
    Fraction.java
    FractionInterface.java

myfolder次に、使用してコンパイルする必要があります

javac PJ1\Fraction.java
于 2013-09-28T18:24:59.533 に答える
0

両方のファイルが PJ1 フォルダーにあることを確認し、実行してくださいjavac *.java

于 2013-09-28T18:53:29.177 に答える