2015-11-02 43 views
-2

我正在编写一个程序,主要方法是询问用户他们想要在一个数组中有多少个数字,然后要求他们输入这么多数字,并将它们存储在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; 
    } 

} 

回答

2

您正在看到数组中的默认toString()。要查看阵列项目本身,你可以使用java.util.Arrays中像这样toString(...)方法:

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

是,不要忘记在方法中抑制打印。 –