java程序:编写生成100个1-6之间的随机数,统计1—6每个出现的概率,菜鸟看不懂程序

java程序:编写生成100个1-6之间的随机数,统计1—6每个出现的概率,菜鸟看不懂程序,第1张

1用内置方法Mathrandom()产生一个随机数介于0~1。
2强制转化为int类型,根据int类型的特点,这个数是0~5之间的整数。
3得到的数加1,这样这个数就是介于1~6的整数,并且是随机的。
4将介于1~6之间的这个整数赋值给randomNum
5(重点)probability是个数组,这个程序的算法就是:利用probability这个数组记录随机数出现的次数,probability[0]记录随机数1出现的次数,就是当出现的随机数为1时,数组的probability[randomNum-1]项加1(randomNum-1是为了表现算法,实际的程序中是不需要先加1再减1的)。同理:其它的随意数也做这样的处理。这样,probability这个数组中[0]项保存的是1的出现次数,[1]项保存的是2出现的次数…………
6输出随机数的值(后面加个空格“\t”)
7循环到步骤第1个步骤

具体思路:
首先生成30个0-9的数字
int []a=new int[30];
for(i=0,i<30,i++)
{
a[i]=Mathrandom()10;
}
判断出现了几次
int []b=new int[10]; //用来存放每一个数字出现了几次
for(i=0<i<30<i++)
{
switch(a[i])
case 0: b[0]++;
breake;
case 1: b[1]++;
breake;



case 9: b[9]++
breake;
}

import javautilArrays;
import javautil;
import javalangInteger;
public class BinarySearchTest {
public static void disply(int[] a) {//输出函数,实现一系列功能并输出结果,
List<Integer> arrlist = new ArrayList<Integer>();
List<Integer> arrlist2 = new ArrayList<Integer>();//生成ArrayList的实例,该实例实现了接口List;
int frequnce = 1;//定义变量,用于记录某个数出现的次数;
int valu = 0;//
int max=0;//某个数出现的最大次数;
int numb = 0;//出现次数最多的数的索引值;
for (int i = 0; i < alength - 1; i++) {//该循环找出每个数出现的次数,并将次数记录在arrlist里,将相对应
valu = a[i]; //的数存在arrlist2里面;
if (valu != a[i + 1]) {
arrlistadd(frequnce);
frequnce = 1;
arrlist2add(a[i]);
}
if (valu == a[i + 1]) {
frequnce++;
}
}
Systemoutprintln(arrlist2);//打印出arrlist便于判断程序功能是否正确;
Integer[] arry = new Integer[arrlistsize()];
Integer[] brry = new Integer[arrlist2size()];//定义包装类对象数组;
arrlisttoArray(arry);
arrlist2toArray(brry); //将arrlist2转换为包装类数组;
for (int i = 0; i < arrylength; i++) {
if (max < arry[i]intValue()) {
max = arry[i]intValue();//找出arry中的最大值,即最大出现次数;
}
Systemoutprintln("元素" + brry[i] + "出现" + arry[i] + "次");//打印每个数出现的次数;
}
for(int i=0;i<arrylength;i++){//找出出现次数对多的数在arry中的索引;
if(max==arry[i])
numb=i;
}
Systemoutprintln("出现次数最多的是" + brry[numb] + "共出现:" + max + "次");//输出出现次数对多的数和次数
for(int i=0;i<brrylength;i++){
Systemoutprint(brry[i]+" ");//输出brry数组便于判断程序功能是否正确;
}
Systemoutprintln();
for(int i=0;i<alength;i++){//输出arry数组便于判断程序功能是否正确;
Systemoutprint(arry[i]+" ");
}
}
public static void main(String args[]) {
int[] array2=new int[]{1,1,1,2,3,3,6,6,7,8,9,9,9,9,10,13,15,15,15,17,19,19,19,19,19,20,20,20,20,20,20};
disply(array2);
}
}
以下是输出结果,没有对元素20统计,帮帮忙给位大虾
出现过的元素[1, 2, 3, 6, 7, 8, 9, 10, 13, 15, 17, 19]
元素1出现3次
元素2出现1次
元素3出现2次
元素6出现2次
元素7出现1次
元素8出现1次
元素9出现4次
元素10出现1次
元素13出现1次
元素15出现3次
元素17出现1次
元素19出现5次
出现次数最多的是19共出现:5次
1 2 3 6 7 8 9 10 13 15 17 19
3 1 2 2 1 1 4 1 1 3 1 5
1 1 1 2 3 3 6 6 7 8 9 9 9 9 10 13 15 15 15 17 19 19 19 19 19 20 20 20 20 20 20


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/13177618.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-16
下一篇 2023-06-16

发表评论

登录后才能评论

评论列表(0条)

保存