Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我的程序告诉我,我的方法对于我的类型是未定义的,这意味着什么?_Java_Compiler Errors - Fatal编程技术网

Java 我的程序告诉我,我的方法对于我的类型是未定义的,这意味着什么?

Java 我的程序告诉我,我的方法对于我的类型是未定义的,这意味着什么?,java,compiler-errors,Java,Compiler Errors,我编写了一个代码,该代码应该获取一个数组并将其从最小值排序到最大值,但我得到了一个错误。这是密码 public class minHeapify{ public static void exchange(int a[],int i,int j) { int temp = a[i]; a[i] = a[j]; a[j] = temp; } public static int parent(int i) { re

我编写了一个代码,该代码应该获取一个数组并将其从最小值排序到最大值,但我得到了一个错误。这是密码

public class minHeapify{
    public static void exchange(int a[],int i,int j) {
        int temp = a[i];
        a[i] = a[j];
        a[j] = temp;
    }
    public static int parent(int i) {
        return (int) Math.floor((i - 1)/2);
    }
    public static int left(int i) {
        return 2*i + 1;
    }
    public static int right(int i) {
        return 2*(i+1);
    }
    public minHeapify(int a[], int start,int end) {
        int l = left(start); int r = right(start);
        int smallest;
        if(l >= end){
            smallest = (a[l] < a[start])? l: start;
        }
        if(r >= end){
            smallest = (a[r] < a[smallest])? r: smallest;
        }
        if(smallest != start) {
            exchange(a,start,smallest);
            minHeapify(a,smallest,end);
        }
    }
} 
public类minHeapify{
公共静态无效交换(int a[],int i,int j){
int temp=a[i];
a[i]=a[j];
a[j]=温度;
}
公共静态int父级(int i){
返回(int)数学层((i-1)/2);
}
公共静态整数左(整数i){
返回2*i+1;
}
公共静态整数权限(整数i){
返回2*(i+1);
}
公共minHeapify(int a[],int start,int end){
int l=左(开始);int r=右(开始);
int最小;
如果(l>=结束){
最小=(a[l]=结束){
最小的=(a[r]

我得到的错误是“类型minHeapify的方法minHeapify(int[],int,int)未定义”,我不确定这意味着什么。

问题是该方法与类同名,并且没有返回类型。因此,从编译器的角度来看,它是一个构造函数,而不是一个普通的方法。构造函数不能以您的方法尝试的方式调用自己


重命名该方法并添加返回类型。如果该方法需要在构造时自动调用,只需从构造函数调用即可。

Java认为
public minHeapify(int a[],int start,int end)
是一个构造函数,而不是一个普通的方法。您可以通过遵守类名为大写的约定来修复它:
public class MinHeapify