【小程序】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(表)占用空间的大小
- 下一篇: 统计数字出现次数