主要方法中奇怪的输出

问题描述:

我需要生成5 + 1个UNIQUE随机数并将它们存储到数组中,然后返回。这里是我的代码主要方法中奇怪的输出

public static int[] drawNumbers(int number) 
{ 
    int[] unique = new int[7]; 
    int x = 0; 
    int y = 0; 

    while(x < unique.length) 
    { 
     unique[x] = (int)(Math.random()*45+1); 

     while(y < x) 
     { 
      if(unique[x] == unique[y]) 
      { 
       x--; 
       break; 
      } 
      y++; 
     } 
     x++; 
    } 
    return unique; 
} 

我不知道什么是错我的代码,但我这样做的主要方法时:

System.out.print(drawNumbers(parameter) + " "); 

我得到的输出是这样的: “[I @ 4a5e88f7”

drawNumbers返回一个整数数组,但System.out.print无法打印出整个数组。相反,您需要分别打印每个项目,如下所示:

for (int x : drawNumbers(parameter)) { 
    System.out.print(x + " "); 
} 
+0

有意义。谢谢! – BbOii 2014-12-07 19:29:21

+0

嘿,伙计,我希望你不介意我问这里,因为我不能真正找到我在找什么,但.. 如何将多维数组传递到另一个方法?假设我有“数字[x] [y]”。我如何将此传递给方法“checkNumber()”? – BbOii 2014-12-07 22:06:02