public class Test{
public static void main(String[] args) {
int[] a = new int[args.length];
for (int i=0; i<args.length ;i++ ) {
a[i] = Integer.parseInt(args[i]);
print(a);
}
} private static void print(int[] a) {
for (int i=a.length-1; i>=0 ; i-- ) {
System.out.print(a[i] + " ");
}
System.out.println();
}
}
比如输入 java Test 2 5 45 5 6 4 56
输出结果前面咋会有那么多0呢?
换成char后就有很多空格,怎么搞的。。

解决方案 »

  1.   

    print(a)在for循环中print(int[] a)方法中也是for循环打印明白了吧?
      

  2.   


    public class Test{
        public static void main(String[] args) {
            int[] a = new int[args.length];
            for (int i=0; i<args.length ;i++ ) {
                a[i] = Integer.parseInt(args[i]);
                
            }
            print(a);
        }    private static void print(int[] a) {
            for (int i=a.length-1; i>=0 ; i-- ) {
                System.out.print(a[i] + " ");
            }
            System.out.println();
        }
    }
      

  3.   


    public class Randoms {
        public static void main(String[] args) {
            int[] a = new int[args.length];
            for (int i=0; i<args.length ;i++ ) {
                a[i] = Integer.parseInt(args[i]);
            }
            print(a);
        }    private static void print(int[] a) {
            for (int i=0; i<a.length ; i++ ) {
                System.out.print(a[i] + " ");
            }
            System.out.println();
        }
    }
      

  4.   

    public class Test{
        public static void main(String[] args) {
            int[] a = new int[args.length];
            for (int i=0; i<args.length ;i++ ) {
                a[i] = Integer.parseInt(args[i]);
                
            }
            print(a);//放到这儿就解决了!
        }    private static void print(int[] a) {
            for (int i=a.length-1; i>=0 ; i-- ) {
                System.out.print(a[i] + " ");
            }
            System.out.println();
        }
    }
    运行结果:
    若输入:2 3 4 5
    输出:5 4 3 2
      

  5.   

    因为你把print(a);放到循环里了.
      

  6.   


    当没有给数组里的数赋值的时候,INT数组的默认是0,char数组默认是 空值是不是这样?
      

  7.   

    new int[args.length]的时候编译器给你初始化0.
      

  8.   

    恩,把print放在循环外是另一种结果
      

  9.   

    public class Test{
        public static void main(String[] args) {
            int[] a = new int[args.length];
            for (int i=0; i<args.length ;i++ ) {
                a[i] = Integer.parseInt(args[i]);
                
            }
             print(a);//这句应该在for循环外面
        }    private static void print(int[] a) {
            for (int i=a.length-1; i>=0 ; i-- ) {
                System.out.print(a[i] + " ");
            }
            System.out.println();
        }
    }