1

宿題用の.classファイルしか与えられなかったので、そのメソッドにアクセスするプログラムを作成する必要があります。同じディレクトリに.classファイルがありますが、そのメソッドにアクセスできないため、プログラムがコンパイルされません。JGraspとEclipseを試してみました。両方の「シンボルが見つかりません」(メソッド名)。

私は正しいメソッド名を使用していることを絶対に確信しています。なぜ動かないの?

これはHw.javaの私のコードです

public class Hw {

    public static void main(String[] args) 
    {
     int[] a1 = {1, 2, 3, 4, 5};
        int[] a2 = {5, 4, 3, 2, 1};
        int[] a3 = {1};
        int[] a4 = {2, 5, 3, 1, 4};
        int[] a5 = {1, 2, 1};

        System.out.println(sortA(a1));        
        System.out.println(sortA(a2));
        System.out.println(sortA(a3));
        System.out.println(sortA(a4));
        System.out.println(sortA(a5));        
  }
}

そして、私がJGraspで得ているエラー:

Hw.java:11:エラー:シンボルSystem.out.println(sortA(a1));が見つかりません。
^シンボル:メソッドsortA(int [])場所:クラスHw

4

4 に答える 4

1

与えられたクラスの静的メソッドである場合sortAは、クラス名で修飾する必要があります。

System.out.println(GivenClass.sortA(a1));
于 2013-02-23T08:35:34.300 に答える
0

最初に特定のクラスをインポートする必要があります。.classファイルを開くと、パッケージ名が書かれていることがわかります。そのため、メモしてください。次に、クラスファイルをEclipseに配置してインポートします。 Hw.javaのパッケージ..必ずこの方法で実行してください..パッケージ名がp1であると言ってから、この方法で記述しimport p1.*て、すべてのクラスが存在することを確認してください。
つまり、そのクラスのオブジェクトを作成し、そのオブジェクトのプレス期間(ドット。)を使用して、クラスが提供するメソッドを理解し、そこに署名を付けて使用します。
ソートメソッドにアクセスするためのオブジェクトを作成していないことに気づきました。最初にそれを行う必要があります..そしてメソッドが静的である場合..次に静的インポートを行うので、クラス名を指定する必要はありません..このようなものimport static p1.*

お役に立てれば!!

于 2013-02-23T08:43:03.997 に答える
0

そのクラスのインスタンスを作成し、sort メソッドを呼び出す必要があります。

    System.out.println(new ThatClass().sortA(a1));        

sortA(a1) が静的メソッドの場合、クラス Name で呼び出す必要があります。

    System.out.println(ThatClassName.sortA(a1));        
于 2013-02-23T08:35:51.943 に答える
0

別のクラスからオブジェクトなしでメソッドにアクセスするにはどうすればよいですか...すべてのメソッドを並べ替えようとしている場合は、.class参照を呼び出して...

于 2013-02-23T08:39:48.520 に答える