【发布时间】:2013-12-09 06:48:08
【问题描述】:
我正在尝试打印直方图,但在将它们拼凑在一起时遇到了麻烦。我是数组的新手,所以如果有人可以提供帮助,将不胜感激。这是我的方法:
public static void main(String[] args) {
randomIntArray(5);
}
public static int randomInt(int low, int high){
int x= (int)(Math.random ()*high)+low;
return x;
}
public static int[] randomIntArray(int n){
int[] a = new int [n];
for (int i = 0;i<a.length;i++){
a[i]=randomInt (0,100);
}
System.out.println(printHist(a));
return a;
}
public static int[] printHist(int[]a){
int[] k = new int[11];
int i=0;
while (i<=10) {
int counter = 0;
int h=0;
while(h<a.length) {
if (a[h] == i) {
counter++;
h++;
}
h++;
}
k[i] = counter;
i++;
}
return k;
}
这是我得到的输出。
[I@fb53f6
我需要重新考虑我这样做的方式,还是有一个简单的解决方法?
【问题讨论】:
-
查看
Object#toString()方法及其作用。 -
试试
System.out.println(Arrays.toString(printHist(a))); -
@ZouZou: 好吧,这有点好,但现在我得到'[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]'。
-
@NickGatti 现在这是另一个问题。你必须调查原因。