求java程序代码:循环N次,随机生成M以内的整数,存放到集合中,要求统计出各个随机数所出现的次数

2025-05-02 17:32:18
推荐回答(2个)
回答(1):

public static void main(String[] args) {

HashMap map = new HashMap();

for(int i = 0;i<50;i++){
Random rd = new Random();
int temp = rd.nextInt(50);
map.get(temp);
if(map.get(temp)!=null){
int count = map.get(temp)+1;
map.put(temp, count);
}else{
map.put(temp, 1);
}
}

Iterator keySetIterator = map.keySet().iterator();
while (keySetIterator.hasNext()) {
int key = keySetIterator.next();
int count = map.get(key);
System.out.println("数字"+key+"次数:"+count);
}

}

copy代码直接用就ok

回答(2):

int n=10;
Random r;
int m=100;
List sl=new ArrayList<>();
for (int i = 0; i < n; i++) {
r=new Random();
sl.add(r.nextInt(m));
}
StringBuffer sb=new StringBuffer();
for (int i = 0; i < sl.size(); i++) {
sb.append(sl.get(i));
}
for (int i = 0; i < m; i++) {
String news= sb.toString().replace(""+i,"");
if(news.equals(sb.toString())){
continue;
}
System.out.print("出现"+i+"的次数为:"+(sb.toString().length()-news.length())/(i+"").length()+"");

}