找不到符号错误,拼写错误和参数均不正确

问题描述 投票:0回答:1

我在实现的方法中遇到找不到符号错误,但拼写和参数正是它们应该的样子。 发生什么事了?

我正在尝试实现的方法:

    public static Comparable[] heapify(Comparable[] array){
    int index = array.length - 1;
    Comparable temp;

    if (index == 1){
        return array;
    }

    else{
        for (int i = index; i >= 0; i++){
            while(array[i/2] != null && array[i/2].compareTo(array[i]) > 0){
                temp = array[i];
                array[i] = array[i/2];
                array[i/2] = temp;
                index = index/2;
            }
        }
    }
}

实现该方法的测试程序:

Comparable[] array = {2,5,8,12,10,6,4};
Heap heapified = heapify(array);
heapified.printHeap();

编辑:添加编译器错误

G:\Labs\Lab_10>javac Test.java
Test.java:19: error: cannot find symbol
            Heap heapified = heapify(array);
                             ^
  symbol:   method heapify(Comparable[])
  location: class Test
Note: .\Heap.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error
java compilation
1个回答
1
投票

请提供更多信息。现在能提供的帮助太少了。

但是,我的猜测是:

  1. 方法“heapify(Comparable[])”位于不同的类中,因此您必须编写:

    堆堆化 = CLASS_WITH_HEAPIFY.heapify(array);

  2. 检查主类中的导入。也许您没有导入包含“heapify”类的正确包

© www.soinside.com 2019 - 2024. All rights reserved.