http://algs4.cs.princeton.edu/code/のjarファイルを使用しようとしています。 jarファイルをダウンロードしてCLASSPATHに入れましたが、コマンドラインでプログラムを実行しようとするたびに、「パッケージは存在しません」というメッセージが表示されます。更新されたjarファイルの使用方法(コマンドラインを使用)
jarファイルは、「2015年8月17日の時点で、 『デフォルトのパッケージという名前のパッケージ『バージョン』algs4.jarのバージョンが置き換えられました』と言うサイトで
algs4.jarです。へalgs4.jarのクラスにアクセスする、あなたは下記のようなimport文を使用する必要があります。「
import edu.princeton.cs.algs4.MinPQ;
import edu.princeton.cs.algs4.StdIn;
を 私は本当に彼らが話しているのか理解していないので、私は(これが主な問題だと思いますjarファイルを初めて使用しています)
コード(バイナリ検索):
import edu.princeton.cs.algs4.StdIn;
import edu.princeton.cs.algs4.StdOut;
import edu.princeton.cs.algs4.In;
import java.util.Arrays;
public class BinarySearch
{
public static int rank(int key, int[] a)
{ // Array must be sorted.
int lo = 0;
int hi = a.length - 1;
while (lo <= hi)
{ // Key is in a[lo..hi] or not present.
int mid = lo + (hi - lo)/2;
if (key < a[mid]) hi = mid - 1;
else if (key > a[mid]) lo = mid + 1;
else return mid;
}
return -1;
}
public static void main(String[] args)
{
int[] whitelist = In.readInts(args[0]);
Arrays.sort(whitelist);
while (!StdIn.isEmpty())
{ // Read key, print if not in whitelist.
int key = StdIn.readInt();
if (rank(key, whitelist) < 0)
StdOut.println(key);
}
}
}
編集:私が使用 コマンド:あるJavac -cp; edu.princeton.cs.algs4.jar BinarySearch.java
jarファイルがalgs4です。 jar not edu.princeton.cs.algs4.jar
jarファイルはzipファイルです。それを開き、あなたがこのパッケージを持っているかどうかを見てください。新しいパッケージ構造への移行は魔法のようには起こらないことに注意してください。その構造体を持たない古いjarファイルがある場合は、新しいjarをダウンロードする必要があります。また、コードのコンパイルと実行の方法を教えてください。 –
.jarファイル自体の名前は 'algs4.jar'か、実際のファイル名は' edu.princeton.cs.algs4.jar'ですか? – VGR
jarファイルの名前はalgs4.jar サイトでは「2015年8月17日現在、algs4.jarの「デフォルトパッケージ」バージョンが「名前付きパッケージ」バージョンに置き換えられています。 algs4.jarの場合、次のようなimport文を使用する必要があります。 – user3332929