package pack;
public class sample{
public static void main(String input[])
{
NumberFormat numberFormat = new DecimalFormat("#,##0.00##");
System.out.println(numberFormat.format(44533125.00));
}
}
Run Code Online (Sandbox Code Playgroud)
代码在当前目录中正常工作..(c:/ myprogram /).
之后,我复制sample.class文件并将其粘贴到其他目录(d:/ myprogram).我跑步时遇到错误,比如
Exception in thread "main" java.lang.NoClassDefFoundError: sample (wrong name: pack/sample)
在java .class文件可以在任何地方运行吗?但为什么我不能跑?
Jon*_*eet 18
你应该在包中包含类文件 - 因此它应该在一个名为的目录中pack.然后使用类路径中的父目录,运行
java pack.sample
Run Code Online (Sandbox Code Playgroud)
(您还应该将类名更改为Sample以遵循约定,顺便说一下 - 然后运行pack.Sample.)
如果您使用javac构建,请指定"-d"选项以告知它基本目录,并在必要时创建适当的包结构.例如:
javac -d classes Sample.java
Run Code Online (Sandbox Code Playgroud)
要么
javac -d classes src/pack/Sample.java
Run Code Online (Sandbox Code Playgroud)
将(在两种情况下)创建
classes/pack/Sample.class
Run Code Online (Sandbox Code Playgroud)
然后你可以跑
java -cp classes pack.Sample
Run Code Online (Sandbox Code Playgroud)