生成1000个1~33的随机数,并输出各个数字出现的个数---两种方式

本文介绍如何使用Java编程生成1000个1到33之间的随机数,并统计每个数字出现的次数。通过两种不同方法实现,适用于理解随机数生成及计数算法。

问题:
已知双色球中红球的数字是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));
     }
   }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值