至于你的程序的问题,在你的最外层循环for(j=0;j<10;j++)
你仔细想想,由于你里面的循环for(k=0;k<10;k++),且每次赋值的时候是a[k]=z;
而你的z值是由该次for(j=0;j<10;j++)循环中的j只在random[i]中的个数决定的,相当于,每次for(j=0;j<10;j++)都把a[]中的所有值都赋值了一遍
所以,你的输出是一样的切都为9的个数
最简单的改法 把赋值语句
a[k]=z改成a[j]=z;
下面是我写的,参考下呗,看不看由你
public class Main{
public static void main(String[] args){
int[] i = new int[10];
for(int j=0;j<10;j++)i[j]=0;
for(int j=0;j<100;j++)i[(int)(Math.random()*10)]++;
for(int j=0;j<10;j++)System.out.println(j+"现"+i[j]+"次");
}
}
包括输出循环120次,利用整形数组下标代替0-9的数值,他们的值来储存出现的次数,也不不是最好的,也许不是你要的,看看吧,写程序得多想想