一个例子,怀疑是Netbeans的问题
package sort;
class ArrayBub {
private long[] a;
private int nElems;
public ArrayBub(int max) {
a = new long[max];
nElems = 0;
}
public void insert(long value) {
a[nElems] = value;
nElems++;
}
public void display() {
for (int j = 0; j < nElems; j++) {
System.out.print(a[j] + " ");
}
System.out.println("");
}
public void selectSort() {
int out, in, min;
for (out = 0; out < nElems - 1; out++) {
min = out;
for (in = out + 1; in < nElems; in++) {
if (a[min] > a[in]) {
min = in;
}
}
swap(out, min);
}
}
private void swap(int one, int two) {
{
long temp = a[one];
a[one] = a[two];
a[two] = temp;
}
}
}
public class selectionSort {
public static void main(String[] args) {
int maxSize = 100;
ArrayBub arr;
arr = new ArrayBub(maxSize);
arr.insert(77);
arr.insert(99);
arr.insert(44);
arr.insert(55);
arr.insert(22);
arr.insert(88);
arr.insert(11);
arr.insert(66);
arr.insert(00);
arr.insert(33);
arr.display();
arr.selectSort();
arr.display();
}
}
运行报这个错
Exception in thread "main" java.lang.VerifyError: (class: sort/ArrayBub, method: <init> signature: (I)V) Constructor must call super() or this()
at sort.selectionSort.main(selectionSort.java:53)
Java Result: 1
当把maxSize 改成20就不报错,但是eclipse不报错,大家来看看