小弟最近写了一个排序的问题,但是不知道为什么就是不能运行,希望各位大虾帮助一下,谢谢!import java.util.Arrays;
public class Tongji
{
  public static void main(String[] args) throws Exception
  {
  int[][] a = new int[3][3]; 
  a[0][0] = 1;
  a[0][1] = 2;
  a[0][2] = 3;
  a[1][0] = 1;
  a[1][1] = 2;
  a[1][2] = 1;
  a[2][0] = 3;
  a[2][1] = 2;
  a[2][2] = 1;
  Arrays.sort(a); 
  for(int i=0;i<3;i++)
  for(int j=0;j<3;j++)
  { 
  System.out.println(a[i][j]); 
  } 
}报错:Exception in thread "main" java.lang.ClassCastException: cannot be cast to java.lang.Comparable
                                                              at java.util.Arrays.mergeSort<Unknown Source>
                                                              at java.util.Arrays.sort<Unknown Source>
                                                              at Tongji.main<Tongji.java:22>

解决方案 »

  1.   

    Arrays.sort(a);  
    他只能排序一维数组,你传进去的是2维!!
    你应该一维一维取出来排序!
      

  2.   

    package zhao;import java.util.Arrays;public class Test1 {    public static void main(String[] args) throws Exception {
            int[][] a = new int[3][3];
            a[0][0] = 1;
            a[0][1] = 2;
            a[0][2] = 3;
            a[1][0] = 1;
            a[1][1] = 2;
            a[1][2] = 1;
            a[2][0] = 3;
            a[2][1] = 2;
            a[2][2] = 1;
            for (int i = 0; i < a.length; i++) {
                Arrays.sort(a[i]);
            }        for (int i = 0; i < 3; i++)
                for (int j = 0; j < 3; j++) {
                    System.out.println(a[i][j]);
                }
        }
    }