用java编写一个程序 要求随机产生10000个1—10之间的整数,统计每个数(1—10)的个数,并统计每个数的个数

用java编写一个程序 要求随机产生10000个1—10之间的整数,统计每个数(1—10)的个数,并统计每个数(1—10)的个数

import java.util.Calendar;
import java.util.Random;

public class Rand {
private static int[] getBigRandom(int count, int range) {
Random rnd = new Random(Calendar.getInstance().getTimeInMillis()); //不加这个每次运行结果都一样
int[] big = new int[count];
int k = 0 ,f;
for (int i = 0 ; i< count; i++){
f = rnd.nextInt(range);
big[i] = f+1;
}
return big;
}
private static int[] getNumDistributed(int[] big , int range) {
int[] num = new int[range];
for (int i=0; i < big.length; i++){
num[big[i]-1]++;
}
return num;
}

public static void main(String[] args){
int[] Big ;
int[] num ;
int sum = 0;
Big = getBigRandom(10000 , 10);
num = getNumDistributed(Big,10);
for (int i=0; i<10; i++){
sum += num[i];
p((i+1)+": "+num[i]);
}
p("Total: "+sum);
}

private static void p(Object obj) {
System.out.println(obj);
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-02-08
import java.util.Random;

public class Test {

public static void main(String[] args) {
Random random = new Random();
int []count=new int[10];
for (int i = 0; i < 10000; i++) {
int temp = random.nextInt(11);
while (temp == 0) {
temp = random.nextInt(11);
}
count[temp-1]++;
}
for (int i = 0; i < count.length; i++) {
System.out.println((i+1)+"有"+count[i]+"个");
}
}
}本回答被提问者采纳
第2个回答  2010-05-03
import java.util.HashMap;
import java.util.Map;
import java.util.Random;

class Test {
public static void main(String[] s) {
Random r = new Random();
Map<Integer,Integer> result = new HashMap<Integer,Integer>();
int num;
for(int i=0; i<10000; i++){
num = r.nextInt(10)+1;
result.put(num, result.get(num)==null?0:result.get(num)+1);
}
System.out.println(result);
}
}
第3个回答  2010-05-03
生成随机数
int number = java.lang.Math.random()*10+1;
(需要判断number是否>10)
至于判断每个数的个数,可以用switch case 来判断。
相似回答