排序程序使用对象和构造函数的麻烦

时间:2013-10-17 18:44:15

标签: java

非常新的java想要制作我单独的排序方法(他们都希望我能正确地完成它们) 对于对象和构造函数来说也是非常新的,希望我所说的是一个对象

所以这里是构造函数

public class sort{

    public int[] selectsort(int[] num)
{
    int j,i,key,min;

    for(j = 0; j<num.length; j++)
        {   
            key = num[j];
            min = j;
            for(i=j+1; i<num.length; i++)
            {
                if(num[i]<num[min])
                {
                    min = i;
                }
            }
                num[j] = num[min];
                num[min] = key;
        }
    return num;
}

public int[] insertsort(int[] num)
{
    int j,i,key;

    for(j = 1; j<num.length; j++)
        {   
            key = num[j];
            for(i=j-1; i>=0 && num[i]>key; i--)
            {
                num[i+1]=num[i];
            }

            num[i+1]=key;
        }

    return num;
}

public static int[] bubblesort(int[] num)
{
    int i,j,ini;

    for(i = num.length-1; i>1; i--)
        {
            for(j=0;j<i; j++)
            {
                if(num[j]>num[j+1])
                {
                    ini = num[j];
                    num[j]=num[j+1];
                    num[j+1]=ini;
                }
            }
        }
    return num;
}
}

和程序/测试

import java.util.Arrays;

public class sorttest{

public static void main(String[] args)
{
    int[] num = new int[]{9,1,4,5,6,2,3,7,8};

    System.out.println(Arrays.toString(selectsort(num)));
}
}

javac sort.java编译,但javac sorttest.java不是

错误:

sorttest.java:9: cannot find symbol
symbol  : method selectsort(int[])
location: class sorttest
        System.out.println(Arrays.toString(selectsort(num)));
                                       ^

1错误

1 个答案:

答案 0 :(得分:0)

方法selectsort不是sorttest类的一部分 - 它是public static类中的sort方法。这意味着您需要按类名对其进行限定:

import java.util.Arrays;

public class sorttest{

    public static void main(String[] args) {
        int[] num = new int[]{9,1,4,5,6,2,3,7,8};

        System.out.println(Arrays.toString(sort.selectsort(num)));
    }
}

或者,您可以使用静态导入:

import static sort.selectsort;
import java.util.Arrays;   

public class sorttest{

    public static void main(String[] args) {
        int[] num = new int[]{9,1,4,5,6,2,3,7,8};

        System.out.println(Arrays.toString(selectsort(num)));
    }
}