我想在键盘上输入一串数,以空格分开,我下面的程序只能排序个位数,碰到两位或是三位的数就不行,谁能帮我解决下,谢谢了.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
public class array 
{
    array()
    {
        
        try 
        {
          BufferedReader in=new BufferedReader(new InputStreamReader(System.in)); 
          char a[]=new char[5];
          String b=in.readLine();
          a=b.toCharArray();
         /* for(int i=0;i<b.length();i++)
          {
              System.out.print(a[i]);
          }*/        
         Arrays.sort(a);
         for(int i=0;i<a.length;i++)          {            System.out.print(a[i]+" ");          }            } catch (Exception ex) {
             ex.printStackTrace();
        }
    }
    public static void main(String[] args)
    {
        array array = new array();
    }
}

解决方案 »

  1.   

    a=b.toCharArray(); 
    这个地方不能使用这个,这个只是一个字符,例如12就是2个字符,你要使用b.split(" ");来分割字符串
      

  2.   

    两位数被认为是两个char 所以不对
      

  3.   

    try 
            { 
              BufferedReader in=new BufferedReader(new InputStreamReader(System.in)); 
             String b=in.readLine(); 
             String [] a=b.split(",");
            int [] t=new int[a.length];
            /* for(int i=0;i <a.length;i++) 
              { 
                 t[i]=Integer.parseInt(a[i])
            }*/        
            Arrays.sort(t); 
            for(int i=0;i <t.length;i++)          {            System.out.print(t[i]+" ");          }            } catch (Exception ex) { 
                ex.printStackTrace(); 
            } 
      

  4.   


    import java.io.BufferedReader; 
    import java.io.InputStreamReader; 
    import java.util.Arrays; 
    public class array 

    array () 
        {        
            try 
            { 
              BufferedReader in=new BufferedReader(new InputStreamReader(System.in)); 
              String b=in.readLine(); 
              String c[]=b.split(" ");
              int [] a =new int[c.length];
              for(int i=0;i<c.length;i++)
              {
               a[i]=Integer.parseInt(c[i]);
              }
            
            Arrays.sort(a); 
            for(int i=0;i <a.length;i++)    
          {    
            System.out.print(a[i]+",");    
          }            } catch (Exception ex) { 
                ex.printStackTrace(); 
            } 
        } 
        public static void main(String[] args) 
        { 
         array array = new array (); 
        } 
    }
      

  5.   


        public static void main(String[] args) {
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            try {
                String[] in = br.readLine().split(" +");
                int[] nums = new int[in.length];
                for (int i = 0; i < in.length; i++) {
                    nums[i] = Integer.parseInt(in[i]);
                }
                Arrays.sort(nums);
                System.out.println(Arrays.toString(nums));
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
      

  6.   

    public class array {
        Comparator comparator = new Comparator() {        public int compare(Object o1, Object o2) {
                return Integer.parseInt(o1.toString()) - Integer.parseInt(o2.toString());
            }    };    array() {
            try {
                BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
                String b = in.readLine();
                String a[] = b.split(" ");
                Arrays.sort(a, comparator);
                for (int i = 0; i < a.length; i++)
                {
                    System.out.print(a[i] + " ");
                }        } catch (Exception ex) {
                ex.printStackTrace();
            }
        }    public static void main(String[] args) {
            array array = new array();
        }
    }
      

  7.   

    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.util.Arrays;public class Test01
    {
    Test01()
        {
           
            try
            {
              BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
    //          char a[]=new char[5];
              String b=in.readLine();
    //          a=b.toCharArray();
              String a[]=b.split(" ");
              System.out.println(a);
              int c[] = new int[a.length];
             for(int i=0;i <a.length;i++)
              {
                  c[i]=Integer.parseInt(a[i]);
              }       
            Arrays.sort(c);
            for(int i=0;i <c.length;i++)         {           System.out.print(c[i]+" ");         }           } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
        public static void main(String[] args)
        {
         Test01 array = new Test01();
        }
    }