0

对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;
}
}

和程序/测试

导入 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 个错误

4

1 回答 1

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)));
    }
}
于 2013-10-17T19:49:56.297 回答