【小程序】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());
}
}
}
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 数据库——MySQL如何查看table(表)占用空间的大小
- 下一篇: 统计数字出现次数
