随机生成50个数字(整数),每个数的范围是【10,,50】,统计每个数字出现的次数以及出现次数最多的数字与它的个数,最后将每个数字及其出现次数打印出来,如果某个数字出现的次数为0,则不要打印它,打印时按照数字的升序排列

解决方案 »

  1.   

    public class Test2 { /**
     * @param args
     */
    public static void main(String[] args) {
    int [] arr = new int[50];
    Map<Integer, Integer> map = new HashMap<Integer, Integer>();
    Random  random = new Random(System.currentTimeMillis());
    for(int i=0;i<50;i++){
    arr[i] = 10+random.nextInt(40);

    if(map.get(arr[i])==null){
    map.put(arr[i], 1);
    }else{
    map.put(arr[i],(map.get(arr[i])+1));
    }
    }

    Set keySet = map.keySet();
    Iterator it = keySet.iterator();

    while(it.hasNext()){
    Integer temp = (Integer)it.next();
    if(map.get(temp)>1){
    System.out.println(temp+" : "+map.get(temp));
    }
    } }
    }
      

  2.   

    忘记排序了,把HashMap改为TreeMap
      

  3.   

    import java.util.Random;public class Test
    {
    public static void main(String[] args)
    {
    int[] count = new int[41];
    Random random = new Random(); for (int i = 0; i < 50; i++)
    {
    int number = random.nextInt(41) + 10;
    System.out.print(number + "  ");
    count[number - 10]++;
    }
    for (int i = 0; i < count.length; i++)
    {
    if (0 == count[i])
    {
    continue;
    }
    System.out.println((i + 10) + "  " + "出现次数为" + "  " + count[i]);
    }
    int max = count[0];
    for (int i = 0; i < count.length; i++)
    {
    if (max < count[i])
    {
    max = count[i];
    }
    }
    System.out.println("出现的最多次数为" + max + "次");
    for (int i = 0; i < count.length; i++)
    {
    if (max == count[i])
    {
    System.out.println("出现最多次数的数有:" + (i + 10));
    }
    }
    }
    }
      

  4.   

    定义一个  41长度的int数组  初始全为0然后  随机出来的数-10   对应 数组下标   值+1 运算然后打印value!=0的   下标+10 及对应的值
      

  5.   

    public static void main(String[] args) {
    int[] arr = new int[50];
    Map<Integer, Integer> map = new TreeMap<Integer, Integer>();
    Random random = new Random(System.currentTimeMillis());
    for (int i = 0; i < 50; i++) {
    arr[i] = 10 + random.nextInt(40); if (map.get(arr[i]) == null) {
    map.put(arr[i], 1);
    } else {
    map.put(arr[i], (map.get(arr[i]) + 1));
    }
    } Iterator<Integer> iter = map.keySet().iterator(); int maxkey = iter.next();
    int maxvalue = map.get(maxkey); System.out.println(maxkey + " " + map.get(maxkey));
    for (; iter.hasNext();) {
    int nextkey = iter.next();
    if (map.get(nextkey) > maxvalue) {
    maxvalue = map.get(nextkey);
    maxkey = nextkey;
    } System.out.println(nextkey + " " + map.get(nextkey));
    } System.out.println("max:" + maxkey + " " + maxvalue);
    }