Java:NoClassDefFound添加包语句时出错



java源代码如下:

package test;
public class DotMain {
    public static void main(String... args) {
        String s1 = "abcdex";
        String s2 = "ac";
        boolean[] r1 = new boolean[26];
        for (char c : s1.toCharArray())
            r1[c - 'a'] = true;
        boolean contained = true;
        for (char c : s2.toCharArray()) {
            if (!r1[c - 'a']) {
                contained = false;
                break;
            }
        }
        System.out.println(contained);
        System.out.println(s1 + s2);
    }
}

如果没有"包测试;",则相应的类文件的行为将正确。但当我添加"包测试"时,出现了标题中所述的异常。有什么问题吗?

很可能您没有正确构建或运行它。

这样构建(适当地填写路径信息):

javac -d . path/to/DotMain.java

这样运行:

java test.DotMain

(当然,您可以更改-d指定的输出目录,此时您应该将该目录添加到类路径中,或者在运行之前更改为该目录。)

最新更新