数组实现
/**
* @(#)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());
}
}
}
该博客介绍了如何使用Java编程,从10到50生成50个随机数,统计每个数字出现的次数。通过数组和Map两种方式实现,最终找出出现次数最多的数字及其频率,并按数字升序输出结果。
1万+

被折叠的 条评论
为什么被折叠?



