要求,随机生成100个数,1到100,可以有重复的,然后计算,
1、这100个数有多少个重复的,复复多少次
2、在重复次数大于等于5的数中,求出最大的那个
有请哪位仁兄,帮我做一下,用JAVA代码,谢谢

解决方案 »

  1.   

    a[100]={0};
    a[n]存放n+1的个数,每次产生一个随机数r,则a[r-1]++,最后再统计一下好了
      

  2.   

    public class Main
    {
            public static void main(String argv[])
            {
                    int i, j = -1;
                    int[] a = new int[100];
                    short[] mp = new short[100];                for (i = 0; i < 100; i++)
                    {
                            a[i] = (int)(Math.random() * 100);
                            mp[a[i]]++;
                    }
                    for (i = 0; i < 100; i++)
                    {
                            if (mp[i] > 1)
                                    System.out.println(i + " 出现" + mp[i] + "次");
                            if (mp[i] > 4)
                                    j = i;
                    }
                    System.out.println(j == -1? "没有重复数大于4的值": ("重复数大于4的值中最大为:" + j));
            }
    }
      

  3.   

    楼上的算法很好,改了下是随机生成的数是1-100.
    class Test{
    public static void main(String[] args){
    int i,j=-1;
    int[] a=new int[100];
    short[] m=new short[101];
    for(i=0;i<a.length;i++){
    a[i]=(int)(Math.random()*100+1);//这里是1-100
    m[a[i]]++;
    }
    for(i=0;i<=a.length;i++){
    if(m[i]>1){
    System.out.println(i+"出现的次数是"+m[i]);
    }
    if(m[i]>4){
    j=i;
    }

    }
    System.out.println(j==-1? "没有重复次数大于4的数":"重复次数大于4次中最大的数是"+j);
    }
    }
      

  4.   

    //java.util.HashMap?
    Random r = new Random(100);
    HashMap m = new HashMap();
    int result = 0;
    for(int i=0; i<100; i++){
      int n = r.nextInt();
      Integer it = m.get(n);
      it = it == null ? 0 : it;
      m.put(n, it + 1);
      if(it >= 4 && result < n){
        result = n;
      }
    }
    System.out.println(result);
    貌似要在1.5以上运行