【发布时间】:2015-04-27 12:00:44
【问题描述】:
我正在尝试在 Java 中编写一个 LSD(最低有效位)计数排序程序,以通过应用于字符串特定位置的计数排序方法对固定长度的字符串进行排序。它编译得很好,但在运行时,它给出了 java.lang.NoClassDefFoundError。我已经尝试在网上搜索它,但到目前为止还没有收到解决方案。因此,如果有人能指出我的错误,我将不胜感激。提前致谢!
public class LSD
{
public static void LSDsort(String[] a, int W) // fixed-length W strings
{
int R = 256;
int N = a.length;
String[] aux = new String[N];
for (int d = W-1; d >= 0; d--)
{
int[] count = new int[R+1];
for (int i = 0; i < N; i++)
count[a[i].charAt(d) + 1]++;
for (int r = 0; r < R; r++)
count[r+1] += count[r];
for (int i = 0; i < N; i++)
aux[count[a[i].charAt(d)]++] = a[i];
for (int i = 0; i < N; i++)
a[i] = aux[i];
}
}
public static void main (String[] args)
{
String[] arr = {"11AG3EP04", "11AG30022", "11CS10023", "11EC10015",
"12CS3EP01", "10BT3FP01", "14NA10004", "13MF10012"};
LSDsort(arr, 9);
for (String s: arr) System.out.println(s);
}
}
【问题讨论】:
-
你是如何运行它的?它在您的课程路径中吗?使用IDE(例如Eclipse)时会重复吗?
-
阿米特,我试图使用命令提示符 (Windows) - javac LSD.java 和 java LSD 运行它。那里出现问题。此外,我再次尝试使用 NetBeans 并没有显示问题。实在看不懂,为什么?
-
阿尔伯特,感谢您的参考。我还浏览了一些资源来解释错误的原因,但我无法弄清楚我可以做些什么来消除错误。
标签: java string sorting runtime-error