26

CourseraAlgorythmsコースを開始しました。練習の割り当てはJavaで行う必要があり、DrJavaをIDEとして使用することを提案していますが、これは非常に不便です。Eclipseを使用したいのですが、問題は、このコースで提供されている2つのライブラリ( algs4.jarstdlib.jar )を使用できなかったことです。このガイドの手順を実行した後、プロジェクトにそれらを含めることができました。

ここに画像の説明を入力してください

しかし、プロジェクトでそれらのクラスを使用しようとすると、Eclipseはそれを許可せず、Ctrl+でそれらをインポートできませんでしたSpace

ここに画像の説明を入力してください

そして、クラスを直接インポートしようとしても、import stdlib.StdRandom;それでも機能しません。

正しく機能させるにはどうすればよいですか?

4

10 に答える 10

20

これらの2つのJARを使用してみませんか-stdlib-package.jarとalgs4-package.jar。

そしてコードページの下(http://algs4.cs.princeton.edu/code/

Q.名前付きパッケージを使用してコードを構造化すると、コンパイラーはstdlib.jarまたはalgs4.jarのライブラリーにアクセスできなくなります。なぜだめですか?

A.stdlib.jarおよびalgs4.jarのライブラリは「デフォルト」パッケージに含まれています。Javaでは、名前付きパッケージからデフォルトパッケージのクラスにアクセスすることはできません。名前付きパッケージでライブラリを使用する必要がある場合は、stdlib-package.jarおよびalgs4-package.jarのパッケージバージョンを使用できます。

警告:Princeton COS 226またはCoursera、Algorithms、Part IまたはIIを使用している場合は、グレーディングを容易にするために、ライブラリのデフォルトのパッケージバージョンを使用する必要があります。

テストの成功を示す: テストの成功を示す

于 2014-01-12T16:14:30.543 に答える
12

作成者がデフォルトパッケージでAPIを定義しており、Javaがこれらを認識しないため、APIにアクセスできません。著者は、Webサイト(http://algs4.cs.princeton.edu/code/)で、これらを名前付きパッケージで使用している場合は、http://algs4.cs.princetonからのjarを含めるようにビルドパスを構成すると述べています。 .edu / code/algs4.jar

HTH!

于 2013-08-01T00:07:47.510 に答える
6

以下の手順に従ってください

プロジェクトを右クリック>[プロパティ]。次のウィンドウが開きます

ここに画像の説明を入力してください

左側から「Javaビルドパス」を選択します。次に、右側から[ライブラリ]タブを選択します

ここに画像の説明を入力してください

「外部Jarの追加」をクリックします

ここに画像の説明を入力してください

Jarファイルを追加します。

これで完了です

于 2013-02-21T17:53:07.273 に答える
5

JARを含めるために必要なのは、左側のプロジェクトエクスプローラーパネルでプロジェクト/オブジェクトツリーの上部を右クリックし、[ビルドパス/ビルドパスの構成]を実行して、[ライブラリ]タブをクリックするだけです。 「外部jarを追加」、そこに追加します。

ソースコードを編集している間も、その後Eclipseでビルドしている間も、これらは喜んで利用できるようになるはずです。

また、入力時にクラス名が正しいと仮定すると、コード内のクラス名にカーソルを合わせることができるはずであり、インテリセンス/オートコンプリート機能により、どこからインポートするかが提案されます。その方法で、インポートを正しいライブラリに簡単に追加できます。

于 2013-02-21T17:12:33.550 に答える
2

1つのオプションは、slokによって提供されるgithubにMavenリポジトリがあることです。これの悪い部分は、追加されたjarがデフォルトのパッケージを使用しているため、パッケージ構造を使用できないことです。

更新:jarのパッケージバージョンをリポジトリに追加し、プルリクエストを作成して受け入れられました。

Princetonの元のパッケージ構造と一致するように識別子を変更したことに注意してください。

<dependencies>
  <dependency>
    <groupId>edu.princeton.cs.introcs</groupId>
    <artifactId>algs4-package</artifactId>
    <version>1.0</version>
  </dependency>

  <dependency>
    <groupId>edu.princeton.cs.introcs</groupId>
    <artifactId>stdlib-package</artifactId>
    <version>1.0</version>
  </dependency>
</dependencies>

<repositories>
  <repository>
    <id>org.coursera.algs4</id>
    <name>Algs4 coursera course custom repository</name>
    <url>https://raw.github.com/slok/algs4-mvn-repo/master</url>
  </repository>
</repositories>
于 2014-07-05T07:44:49.727 に答える
2

彼らのウェブサイトから:http://algs4.cs.princeton.edu/code/

Eclipse(手動)。stdlib.jarとalgs4.jarをフォルダーにダウンロードし、各jarファイルをクラスパス変数に追加します。プロジェクト->>プロパティ->Javaビルドパス->ライブラリ->外部JARを追加します。

于 2015-04-05T16:36:28.357 に答える
2

Gradleの場合、次のようにbuild.gradleのリポジトリセクションにMavenリポジトリエントリを追加します。

repositories {
    mavenCentral()
    maven {
        url 'https://dl.bintray.com/algs4/maven/'
    }
}

次のように依存関係を追加します。

compile group: 'edu.princeton.cs', name: 'algs4', version: '1.0.4'

Mavenの場合、次のように、build.xmlのリポジトリタグにエントリを追加します。

<repositories>
  <repository>
    <id>org.coursera.algs4</id>
    <name>Algs4 lib</name>
    <url>https://dl.bintray.com/algs4/maven/</url>
  </repository>
</repositories>

次のように依存関係を追加します。

<dependencies>
  <dependency>
    <groupId>edu.princeton.cs</groupId>
    <artifactId>algs4</artifactId>
    <version>1.0.4</version>
  </dependency>
</dependencies>
于 2019-06-10T22:43:26.797 に答える
1

ライブラリにパッケージ構造がないため、ライブラリからクラスをインポートできないことが原因である可能性があります。これはあなたを助けるかもしれません、Eclipseの参照ライブラリでクラスを使用する方法

于 2013-02-21T18:04:46.657 に答える
1

あなたがまだ解決策を探している人なら:-

OS X / Linux

% javac -cp .:stdlib.jar MyProgram.java % java -cp .:stdlib.jar MyProgram

ウィンドウズ

% javac -cp .;stdlib.jar MyProgram.java % java -cp .;stdlib.jar MyProgram

参照用:-https://introcs.cs.princeton.edu/java/stdlib/

于 2019-01-01T07:32:06.653 に答える
0

Gradleを使用しています。この場合、build.gradleファイルには依存関係があり、次のようになります。

repositories {
    jcenter()
}

dependencies {
    compile 'edu.princeton.cs:algs4:1.0.3'
}

この後、クラスに何でもインポートできます。例えば:

import edu.princeton.cs.algs4.StdIn;
于 2019-03-07T07:54:16.950 に答える