问题:
已知双色球中红球的数字是1~33的任意值,编写一个程序,每次从1到33中随机抽出一个数值,循环1000次,请问循环完毕后,每个数值出现的次数。
import java.util.ArrayList;
public class Way1{
public static void mian(String []args){
// 1.使用数组的方式
//声明一个存储33个元素的数组
int arr[]=new int[33];
//随机生成1000个1~33的随机数
for(int j=1;j<=1000;j++){
int i=(int)(Math.random()*33)+1;
arr[i-1]++;
}
for(int i1=0;i1<=arr.length-1;i++){
System.out.println(i1+1+"出现的次数为"+arr[i1]);
}
// 2.使用集合的方式
//创建一个对象
ArrayList<Integer> a=new ArrayList<>();
//先循环33次,把元素0添加进33个位置
for(int j=0;j<33;j++){
a.add(0);
}
//循环1000次,生成1000个1~33的随机数
for(int j=1;j<=1000;j++){
int i=(int)(Math.random()*33)+1;
arr[i-1]++;
a.set(i-1,a.get(i-1)+1);
}
//遍历集合a的元素
for(int i=0;i<a.size();i++){
System.out.println(i+1+"出现的次数为"+a.get(i));
}
}
}
本文介绍如何使用Java编程生成1000个1到33之间的随机数,并统计每个数字出现的次数。通过两种不同方法实现,适用于理解随机数生成及计数算法。

4413

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



