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の一部ではなく、クラス内のメソッドです。つまり、クラス名で修飾する必要があります。sorttestpublic staticsort

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 に答える