0

我最近完成了一项使用 Netbeans 和 Java 的编程任务。当我在 Netbeans 中运行程序时,一切都运行得很完美。当我尝试从终端运行它时,我的问题就出现了。我用我所有的 .java 文件运行 javac ,它为每个文件生成一个 .class 文件。然后,当我尝试运行可执行文件时,它会在我身上出错。

ls
Board.java          KenKenPuzzleSolver.java 
Solver.java         Cage.java 
Size.java           Values.java

javac KenKenPuzzleSolver.java Board.java Cage.java Size.java Solver.java Values.java

ls
Board.class         Size.class
Board.java          Size.java
Cage.class          Solver.class
Cage.java           Solver.java
KenKenPuzzleSolver.class    Values.class
KenKenPuzzleSolver.java     Values.java

java KenKenPuzzleSolver
Exception in thread "main" java.lang.NoClassDefFoundError: KenKenPuzzleSolver (wrong name: kenkenpuzzlesolver/KenKenPuzzleSolver)

此外,当程序从终端运行时,它应该接受一个输入文件和一个输出文件的名称,即“java KenKenPuzzleSolver input.txt output.txt”,我不太确定如何执行此操作。

4

4 回答 4

0

您一定弄乱了案例,因为错误很明显,而不是KenKenPuzzleSolver您将类命名为kenkenpuzzlesolverin KenKenPuzzleSolver.java

于 2012-10-07T07:15:02.697 回答
0

为什么不使用 netbeans 生成可执行文件?您不必每次都编译代码。

input.txt并且output.txt被称为参数。它们将存储在您函数的String[] args数组中。main

于 2012-10-07T07:11:10.807 回答
0

您没有提供类路径参数。

利用javac -cp YOURCLASSPATH KenKenPuzzleSolver

于 2012-10-07T07:11:19.803 回答
0

您正在运行的类应该是公共的,并且类名应该与您的文件名相同。您的文件名似乎是“KenKenPuzzleSolver”,但您的类名似乎是“KenkenPuzzleSolver”(注意小写的 ken )。更正并重新编译并重新运行。

于 2012-10-07T07:13:53.007 回答