题目:任意输入一些数字,以逗号隔开,请按升序或降序排列!
我是这样写的!
         public class Test3 {
      
public static void main(String[] args) {
       Scanner in=new Scanner(System.in);
       String line=in.nextLine();
       String [] ma=line.split(",");
       int[] t=new int[ma.length];
       int temp;
       for(int i=0;i<ma.length;i++){
        t[i]=Integer.parseInt(ma[i]);
       }
             for(int j=0;j<ma.length;j++){
              if(t[j]<t[j+1]){
              temp=t[j];
              t[j]=t[j+1];
              t[j+1]=temp;
              }
             }
             System.out.println(t);
}}但运行报异常!我是菜鸟!请哪位高手指导一下!
谢谢!

解决方案 »

  1.   

    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1在这种情况下 最好用容器 而不是数组  因为数组需要初始化 这个很麻烦 也就是这个错误引发的异常还有一个问题  如果输入非数字  这个也会异常  因为没有判断。
      

  2.   


    public class Test{ 
        
    public static void main(String[] args) { 
          Scanner in=new Scanner(System.in); 
          String line=in.nextLine(); 
          String [] ma=line.split(",");       int[] t=new int[ma.length]; 
          int temp; 
          for(int i=0;i <ma.length;i++){ 
          t[i]=Integer.parseInt(ma[i]); 
          } 
          int max=t[0];
                for(int j=0;j <ma.length;j++){ 
                if( max<t[j]){ 
                 max=t[j]; 
                } 
                }
                System.out.println("max:"+max);
             System.out.println(Arrays.toString(ma));
    }  }
      

  3.   

    import java.util.Scanner;public class Test3 { public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    String line = in.nextLine();
    String[] ma = line.split(",");
    System.out.println(ma.length);

    int[] t = new int[ma.length];
    //转换成int 并且赋值
    for (int i = 0; i < ma.length; i++) {
    t[i] = Integer.parseInt(ma[i]);
    System.out.println(t[i]); }
    //冒泡排序交换
    int temp;
    for (int i = 0; i < ma.length; i++) {
    for (int j = 0; j < ma.length - 1 - i; j++) {
    if (t[j] > t[j + 1]) {
    temp = t[j];
    t[j] = t[j + 1];
    t[j + 1] = temp;
    }
    }
    }
    //输出
    for (int i = 0; i < 10; i++) {
    System.out.println("第" + (i + 1) + "个数是:" + ma[i]);
    }
    }}
      

  4.   

    我把你程序改了下你看看行不行:
    import java.io.*;
    import java.util.*;
    public class Test
    { public static void main(String[] args)

    try
    {
    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    String line=br.readLine();
    String [] ma=line.split(","); 
    int[] t=new int[ma.length]; 

    for (int i = 0; i < t.length; i++) {
    t[i]=Integer.parseInt(ma[i]);
    }
    Arrays.sort(t);
    for (int i : t) {
    System.out.print(i+" ");
    }
    }
    catch(IOException e)
    {
    System.out.println(e);
    } }
    }
      

  5.   

    Java 有排序 API 呀
    http://java.sun.com/j2se/1.4.2/docs/api/java/util/Arrays.html#sort(int[])