用这个方法对一个数组进行排序,派出来的结果和输入的不同.
是怎么回事呢
import java.io.*;
import java.util.*;
public class Arraysort
{
public static void main(String aa[])
{
int max,min,aveg;
System.out.println("请输入十个数字");
try{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
String str=in.readLine();
Arrays.sort(a);
int l=a.length;
System.out.println("最大值为:"+a[l-1]);
System.out.println("最小值为:"+a[0]);
    }
    catch(Exception e)
    {
           System.out.println(e.getMessage());    
    }
    }
}

解决方案 »

  1.   

    Arrays.sort(a);中的a在什么地方定义?如果是存入数字的话,还需要使用Integer.parseInt(str);转成数字。
      

  2.   

    楼主,你的字符串和数组的长度都是19,因为你将空格也存了进来。
    你的问题就是怎么将数组中的空格去掉,空格的ASC码是32.因此,你排序的结果是空格按32,正数是其本来值加上48以后组成的数组。
    如果你输入10个正数,则你排完序后,数组的最后十个就是你希望的排序结果。如果你输入负数,则就麻烦了。因此你还是在排序之前将空格去掉吧。
      

  3.   

    http://topic.csdn.net/u/20071201/19/6b7b7caa-869a-4a25-b6cf-8fe8e6713e88.html
    已经回答了你的另外一个帖子.
      

  4.   


    public static void main(String[] args)throws Exception {
         System.out.println("请输入10个数字");
         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
         String content = br.readLine();
         String [] result = content.split(" ");
         Arrays.sort(result);
         for(int i=0;i<result.length;i++){
    System.out.println(result[i]);
     }
    }
      

  5.   

    import java.awt.*;
    import java.io.*;
    import java.util.*;
    public class Test
     { 
      public static void main(String[] args) throws Exception
      {
        System.out.println("请输入10个数字");
        //BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        Scanner br = new Scanner(System.in); 
        String content = br.nextLine();
        String[] result = content.split(" ");
        Arrays.sort(result);
        for(int i = 0 ; i < result.length; i++)
        {
         System.out.println(result[i]);
        }
      }
    }
      

  6.   

    import java.io.*;
    import java.util.*;public class ArraySort {
    public static void main(String[] args)throws Exception {
    String[]a=new String[10];
         System.out.println("请输入10个数字");
         for(int i=0;i<a.length;i++){
         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        a[i] = br.readLine();
         }
         Arrays.sort(a);
         for(int i=0;i<a.length;i++){
        System.out.println(a[i]);
         }
        }
    }