1

Windows 7 64x マシンで Eclipse を使用しています。この問題を調査したところ、多くの人が同様の問題を抱えていることがわかりましたが、私が見つけた解決策はまったくうまくいきませんでした。

Assignment_1という名前のクラスで、という名前のプロジェクトに取り組んでいPercolationます。WeightedQuickUnionUFという名前のjarファイルに含まれるパッケージ内にあるオブジェクトを使用したいと思いますalgs4.jar

興味のあるJarファイルをビルドパスに追加したようです(現在、「参照ライブラリ」の下に表示されています)。jar ファイルは、プロジェクトのフォルダー内にalgs4.jarあるという名前のフォルダーにあります。lib

WeightedQuickUnionUFただし、クラス内で型のオブジェクトを宣言しようとすると、WeightedQuickUnionUF「型に解決できません」というエラーが表示されます。

importクラス宣言の前にさまざまなコマンド (だけを含む)を試しimport WeightedQuickUnionUFましたが、それらすべてで「インポートso and soを解決できません」というエラーが発生しました。

たとえば、このコードでは、これらの両方のエラーが発生します。1 つは行に、もう 1 つはオブジェクトimportの宣言にあります。WeightedQuickUnionUF

package assignment_1_package;
import algs4.WeightedQuickUnionUF;

public class Percolation {

    private int[][] grid;
    public int gridDimension;
    private int opensGrid[][];
    private WeightedQuickUnionUF model;

... //rest of class body here

これは一日中私を困惑させました、そして私はこれを理解できないようです. ご尽力いただきありがとうございます。

編集: インポートしたいクラスへのリンクは次のとおりです: http://algs4.cs.princeton.edu/15uf/WeightedQuickUnionUF.java.html

4

3 に答える 3

3

クラスhttp://algs4.cs.princeton.edu/code/の algs4.jar について話していると仮定すると、インポートは正しくありません。

import WeightedQuickUnionUF;

しかし、デフォルト パッケージにクラスを含めることは決して良い考えではありません。また、名前のないパッケージから型をインポートすることは実際には許可されていません。これにより、コンパイル エラーが発生します。 http://docs.oracle.com/javase/specs/jls/se5.0/html/packages.html#7.4.2 :

タイプ インポート オン デマンド宣言 (§7.5.2) は、必要に応じて、名前付きタイプまたはパッケージのすべてのアクセス可能な (§6.6) タイプをインポートします。名前のないパッケージから型をインポートすると、コンパイル時エラーが発生します

したがって、問題を解決するには、デフォルトのパッケージでクラスを作成するだけで、インポートをまったく行う必要はありません。

于 2013-10-05T16:00:06.407 に答える
0

私は同じクラスにいて、同じ問題を抱えていました。これらの2つのステートメントに相当するものを削除する

 package assignment_1_package; 
    import algs4.WeightedQuickUnionUF;

問題を解決しました。つまり、以下が正しく解決されるようになりました

 private WeightedQuickUnionUF model;
于 2014-09-14T00:30:06.813 に答える