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()与大多数List实现相反,Java 中的数组不会覆盖。

于 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()。

您的打印声明应如下所示:

例子:

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