打印时添加了不需要的代码串?

时间:2015-11-02 19:22:10

标签: java arrays

我正在编写一个程序,主要方法要求用户在数组中需要多少个数字,然后要求他们输入那么多数字,并将它们存储在initialArray中。在另一种方法reverseTheArray中,创建了一个NEW数组,它以相反的顺序存储initialArray的元素。在main中调用该方法并打印反转的数组。无论输入什么,字符串“[I @ 33909752”都打印在最后。这是什么以及如何摆脱它?

import java.util.Scanner;
public class Reverse {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        System.out.println("How many numbers do you want in your array?: ");
        int num = scan.nextInt();

        int[] initialArray = new int[num];
        System.out.println("Please enter your numbers into the array: ");
        for(int i=0; i<num; i++){
            initialArray[i] = scan.nextInt();
        }

        System.out.println(reverseTheArray(initialArray));
    }

    public static int[] reverseTheArray (int[] initialArray){
        int[] reversedArray = new int[initialArray.length];

        for(int j=0; j<reversedArray.length; j++){
            reversedArray[j] = initialArray[initialArray.length-1-j];
            System.out.print(reversedArray[j]+" ");
        }

        return reversedArray; 
    }

}

1 个答案:

答案 0 :(得分:2)

您正在看到数组中的默认toString()。要查看数组项本身,您可以使用java.util.Arrays toString(...)方法,如下所示:

System.out.println(java.util.Arrays.toString(reverseTheArray(initialArray)));