【小程序】JAVA實現從10~50中隨機生成50個數,統計出現的數字及次數,輸出出現最多的次數及對應的數字,按數字升序排列。

數組實現

/**
 * @(#)TongJi.java
 *
 * TongJi application
 *
 * @author kuroro
 * @version 1.00 2011/9/6
 */
 import java.util.Arrays;
public class TongJi {
    
     public static void main(String[] args) {
    	     int[] a = new int[41];
    	     for(int i=0;i<50;i++) 
    	     {
    	    	 int count = (int)(Math.random()*41)+10;
    	    	 System.out.print(count+" ");
    	         a[count-10]++;
    	     }
    	     for(int j = 0 ; j< a.length; j++)
    	     {  
    	   	   if(a[j]==0)
    	    	continue;
    	       else 
    	       {    
    	       		System.out.println();
    	    	    System.out.println((j+10)+"出現了"+a[j]+"次");
    	       }
    	     }
    	      int max=a[0];
    	      for(int j=0;j<a.length;j++)
    	      {
    	      	if(a[j]>max)
    	      		max = a[j];
    	      }
    	       System.out.println();
    	       System.out.println("最大出現次數爲"+max+"次");
    	       for(int j=0;j<a.length;j++)
    	       {
    	       	if(a[j]==max)
    	       		System.out.println("出現次數最多的數字爲"+(j+10));
    	       }
    	      	
        }
  }


 

MAP實現

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
public class NumCount
{
	  public static void main(String[] args)
	{
      TreeMap<Integer, Integer> map = new TreeMap<Integer, Integer>();  
      for(int i=0;i<50;i++)
      {
    	  int number = (int) (Math.random()*41)+10;
    	   System.out.print(number+" ");  
    	  if(map.containsKey(number))
    	  {
    		  map.put(number,map.get(number)+1);
    	  }else
    	  {
    		  map.put(number,1);
    	  }
      }
        System.out.println();
        Collection cols = map.values();
        int max = Collections.max(cols);
        List list = new ArrayList();
        Iterator it = map.entrySet().iterator();
        while(it.hasNext())
        {
        	Map.Entry entry = (Map.Entry)it.next();
        	Integer key = (Integer)entry.getKey();
        	Integer val = (Integer)entry.getValue();
        	if(val==max)
        	{
        		list.add(key);
        	}
        	System.out.println(key+"出現的次數爲:"+val);
        }
         System.out.println("出現的最大次數爲:"+max);
         Iterator it1 = list.iterator();
         while(it1.hasNext())
         {
        	 System.out.println("這些數字是:"+it1.next());
         }
  
	}
}


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章