0

これが私のコードです。誰かがこのエラーで私を助けることができますか?

public class ExcahngeSort {

    public double[] ExSort(double[] gangnam,int size)
    { double temp;

        for(int outrloop=1;outrloop<size;outrloop++)
        {

            for (int innrloop=0;innrloop<size-outrloop;innrloop++)
            {

                if(gangnam[innrloop]>gangnam[innrloop+1])
                {
                     temp=gangnam[innrloop];
                    gangnam[innrloop]=gangnam[innrloop+1];
                    gangnam[innrloop+1]=temp;
                }
            }
        }   
        return gangnam;
    }
}

予期しない値が[D@360be0出力されます。これが何を意味するのかわかりません。

これが私の主な方法です:

public class BsortSimulate {
    public static void main (String args []){

        //BSort bs = new BSort();
        ExcahngeSort es = new ExcahngeSort();
        double gangnam [] = {12,24};

        System.out.println(es.ExSort(gangnam, 2));

        }
}
4

3 に答える 3

2

配列を正しく出力していません。Arrays.toString()ユーティリティ メソッドを使用してください。

System.out.println(Arrays.toString(es.ExSort(gangnam, 2)));

ほとんどの実装toString()とは異なり、Java の配列は をオーバーライドしません。List

于 2012-10-17T18:05:49.183 に答える
1
System.out.println(Arrays.toString(es.ExSort(gangnam, 2)));
于 2012-10-17T18:05:40.147 に答える
0

エラーではありません。配列オブジェクトを印刷しようとしています。Java の配列に対して toString() をオーバーライドすることはできません。

print ステートメントは次のようになります。

例:

System.out.println(Arrays.toString(es.ExSort(gangnam, 2)));
于 2012-10-17T18:05:54.397 に答える