照着书开始输入第一个BinarySearch程序的运行指令并执行的时候,就会报这种错误:
E:\myprogramming\Java\bookLearning\algorithm4\src\Chapter1>java BinarySearch.java tinyW.txt < tinyT.txt
BinarySearch.java:6: 错误: 程序包edu.princeton.cs.algs4不存在
import edu.princeton.cs.algs4.In;
^
BinarySearch.java:7: 错误: 程序包edu.princeton.cs.algs4不存在
import edu.princeton.cs.algs4.StdIn;
^
BinarySearch.java:8: 错误: 程序包edu.princeton.cs.algs4不存在
import edu.princeton.cs.algs4.StdOut;
^
BinarySearch.java:30: 错误: 找不到符号
int[] whitelist = StdIn.readAllInts();
^
符号: 变量 StdIn
位置: 类 BinarySearch
BinarySearch.java:35: 错误: 找不到符号
while (!StdIn.isEmpty()) {
^
符号: 变量 StdIn
位置: 类 BinarySearch
BinarySearch.java:36: 错误: 找不到符号
int key = StdIn.readInt();
^
符号: 变量 StdIn
位置: 类 BinarySearch
BinarySearch.java:38: 错误: 找不到符号
StdOut.println(key);
^
符号: 变量 StdOut
位置: 类 BinarySearch
7 个错误
错误: 编译失败
电脑系统是WIN10,IDE用的是IDEA,已经把algs4.jar载进Modules了,看了一下stdIn,stdOut这些函数也不是红的,把jar路径添加到环境变量也没用,望过了相同情况的友人支个招?
edu.princeton.cs.algs4.StdOut用ctrl+鼠标左键,看能不能点进去,不能的话,jar包还是没有依赖到。
问题解决,如果用终端来执行程序,java后面要加上classpath路径:
缺点就是每次执行程序都要指定classpath路径,不能像书本那样直接引用,目前似乎没有更好的方法了。