我在第21行遇到错误“找不到符号符号方法quickSort(int [],int,int),我不确定为什么会发生这种情况。
import java.util.Random;
public class timeQuickSort {
public static void main(String[] args) {
int size = 16;
int max = 10;
int[] array = new int[size];
Random random = new Random();
random.nextInt(max);
for (int i = 0; i < size; i++) {
array[i] = random.nextInt(max);
}
long result;
long startTime = System.currentTimeMillis();
quickSort(array, 100, array.length-1);
long endTime = System.currentTimeMillis();
result = endTime-startTime;
System.out.println("The quick sort runtime is " + result + " miliseconds");
}
}
这是我的quickSort方法:
public static void quickSort(int[] a, int p, int r)
{
if (p < r)
{
int q = partition(a,p,r);
quickSort(a,p,q);
quickSort(a,q+1,r);
}
}
答案 0 :(得分:2)
如果类名位于当前类之外的其他类中,则指定类名称以调用静态方法。 像:
class Sort{
public static void quickSort(int[] a, int p, int r)
{
if (p < r)
{
int q = partition(a,p,r);
quickSort(a,p,q);
quickSort(a,q+1,r);
}
}
}
并在你的班级中调用它:
Sort.quickSort(array, 100, array.length-1);
答案 1 :(得分:1)
如果该方法在另一个类中声明,则需要通过显式使用其他类名来调用它。
因此,如果调用另一个类,比如Sorter
,则只需要调用
Sorter.quicksort(a, p, q);
Sorter.quicksort(a, q+1, r);