在命令行下输入像20 30 90 49 45这样的数据,又没有什么函数让这些数字初始化a阿??  System.out.println("input source data: ");
Scanner in = new Scanner(System.in);
int a  = new int[10];
...

解决方案 »

  1.   

    int[] a = {20,30,90,49,45};
      

  2.   

    那就不能用数组了,因为你不知道长度,总不能声明一个非常大的数组吧?用ArrayList,用for循环来接受.
      

  3.   

    没有直接方法吧,应该自己写代码赋值
    for example
    String s = in.nextLine();
    String[] v = s.split("\\s+");
    for (int i=0; i<v.length; i++) {
        try {
            a[i] = Integer.parseInt(v[i]);
        } catch (Exception e) {
            e.printStackTrace();
            a[i] = -1;
        }
    }
      

  4.   

                    System.out.println("input source data: ");
    Scanner in = new Scanner(System.in); ArrayList<Integer> datatemp = new ArrayList<Integer>(20);
    while (in.hasNext()) {
    int i = in.nextInt();
    datatemp.add(i);
    }
    Integer[] data = (Integer[])datatemp.toArray(new Integer[0]);
    sort(data);

    System.out.println(data);但是输入数据后按回车怎么没有反应呢?
      

  5.   

    这段代码可以解决你问题
    package penglh;import java.util.Scanner;
    public class Test {
    public static void main(String[] args){
    int a[]=new int[10];
    System.out.println( "input   source   data:   "); 
    Scanner t=new Scanner(System.in);
    for(int i=0;i<a.length;i++){
    a[i]=t.nextInt();
    }
    for(int i=0;i<a.length;i++){
    System.out.println(a[i]);
    }

    }
    }
      

  6.   

    class axxx {
    public   static   void   main(String[]   args){ 
    }
    }然后在执行的时候
    java axxx {"10","20","30","40","50"}
    取到String args[]
    然后如果是数字,,就用Integer.parseInt(args[i])去转换好了