Java 如何计算随机数组中出现的次数?

Java 如何计算随机数组中出现的次数?,java,arrays,random,counting,Java,Arrays,Random,Counting,我在哪里有一些家庭作业。我必须编写一个简单的程序,其中1-100之间的1000000个随机数被生成并存储在一个数组中。之后,程序必须打印出25、50和100的出现次数。我一直在尝试循环,但没有运气。到目前为止,我有一个: 包装随机编号; 导入java.util.Random; 公共类随机{ 公共静态void main(字符串[]args){ 随机r=新随机(); 整数[]=新整数[1000000]; 对于(int count=0;counti==value.count(); } 另见: •

我在哪里有一些家庭作业。我必须编写一个简单的程序,其中1-100之间的1000000个随机数被生成并存储在一个数组中。之后,程序必须打印出25、50和100的出现次数。我一直在尝试循环,但没有运气。到目前为止,我有一个:

包装随机编号;
导入java.util.Random;
公共类随机{
公共静态void main(字符串[]args){
随机r=新随机();
整数[]=新整数[1000000];
对于(int count=0;count
公共静态void main(字符串[]args){
随机r=新随机();
int低=1;
int高=101;
整数[]=新整数[1000000];
int count25=0;
int count50=0;
int count100=0;
for(int i=0;i
这里r.nextInt(高-低)+low生成下限(包含)和上限(排除)之间的随机值。因此,我使用上界为101

有3个不同的计数器,如果其值与所需值(25、50和100)匹配,则会增加1。 循环完成后,可以打印计数器的值。

您可以使用此方法。您的代码可能如下所示:

publicstaticvoidmain(字符串[]args){
//生成1000000个元素的数组
int[]arr=IntStream.range(0,1000000)
//从1到100的随机值
.map(i->(int)(1+Math.random()*100))
.toArray();
//测试输出
System.out.println(countOf(arr,0));//0
System.out.println(countOf(arr,1));//10137
System.out.println(countOf(arr,25));//10026
System.out.println(countOf(arr,50));//10103
System.out.println(countOf(arr,100));//10100
System.out.println(countOf(null,100));//0
System.out.println(countOf(arr,101));//0
}
private static long countOf(int[]arr,int-value){
如果(arr==null)
返回0;
其他的
返回Arrays.stream(arr).filter(i->i==value.count();
}

另见:


Hi@Sruthi谢谢你的帮助,效果很好。我的号码[计数]=1+r.nextInt(100)有什么问题;它不是也应该在1到100之间随机生成吗?在为每个计数器执行if之前,我尝试过,但我哪儿也去不了:SIt也应该有效。只是我写的很普通。如果您在上述代码中尝试
int num=1+r.nextInt(100)
,它也会起同样的作用。