「java随机出现连续的数」java中如何随机出数并不相同

博主:adminadmin 2023-03-21 20:54:10 468

今天给各位分享java随机出现连续的数的知识,其中也会对java中如何随机出数并不相同进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

JAVA如何产生多个随机数

定义一个数组,然后循环赋值就可以了

int[]

a

=

new

int[5];

for(int

i

=

0;i

5;i++){

a[i]

=

(int)(Math.random()*10);

}

上面就是代码,其中数字5是我随便定义的,也就是你所说的N

在java中,有一个数组,里面的值是随机组成的,怎样求一个数组中的最大连续数的和

public static int getMax(int[] arr){

int max = 0;

if(arr==null || arr.length1){

return -1;

}

if(arr.length==1){

return arr[0];

}

for (int i = 1; i arr.length; i++) {

if(Math.abs(arr[i-1]-arr[i]) == 1){

int s = 0;

s+=arr[i-1];

for (int j = i; j arr.length; j++) {

if(Math.abs(arr[j-1]-arr[j]) == 1){

s += arr[j];

}else{

break;

}

}

max = smax?s:max;

}

}

return max;

}

java随机数的问题

呵呵,你知道那个 Random(47)是啥意思吗?这个是种子。

相同的种子会产生相同顺序的随机数,你的47这个种子,每次产生的第一个随机数,永远是 2,不会是别的。

所以,java的是伪随机数哦。

不过这也有一个好处,你连续生成10个随机数,

在运行一次,还是那10个数哦,顺序是完全相同的。

所以一般我们会使用 Ramdon() 不带参数,这样就会使用

Random(++seedUniquifier + System.nanoTime());

也就是系统的纳秒作为种子,这个重复的可能性就及其小了。

总结:相同的种子,产生相同的随机数序列。

希望你明白了。

java统计数组中连续元素出现的个数

int[] nums = new int[]{0,2,3,7,8,9,10,12};

int count = 0;

for (int i = 0; i  nums.length-1; i++) {

if(nums[i] == nums[i+1]-1){

System.err.println("符合《《"+nums[i]);

count++;

}else if(i  0){

if(nums[i]-1 == nums[i-1]){

System.err.println("符合《《"+nums[i]);

count++;

}

}

}

System.err.println(count);

//不知道你怎么算的5,我理解的实现算出来是6啊

求助 java产生一组随机数

需要该两个地方

改为 for(int i=0;i100;i++)//要不就越界了

打印输出应该用 System.out.println(n[i]);//换行

或者 System.out.println(" "+ n[i]);//加个空格以防数字连续

Java编程生成100个1~6之间的随机数,统计1~6每个数出现的概率;

首先:关于随机数的生成方法

java里生成随机数主要有2个方法比较常用.

1.Random类. 在 java.util.包里, 有多种方法可以随机产生int, long, double,boolean等类型

2.Math 类,在java.lang.包里, 可以生成一个[0~1)之间的随机浮点数

*备注* :a. )使用Random需要导包,但是使用Math无需导包. 

b.  )Math底层还是调用了Random类的nextDouble()方法

其次:关于随机数的代码

例如生成[1,6]之间的随机数

1 .Random的方法,生成的随机数

Random r= new Random();

int num1 = r.nextInt(6)+1;//r.next(6)生成的是0~5之间的数字,需要+1,才是[1~6]之间的数字

2. Math的方法,进行随机数的生成

int num = (int) (Math.random() * 6) + 1;

//(int) (Math.random() * 6) 生成的是0~5之间的整数

//需要+1 才是[1~6]的数字

关于次数统计的方案

1, 可以使用HashMapK,V的方法进行存储统计. 因为key不重复,所以key可以来存数字1~6, 而对应的V就可以用来存储出现的次数

2. 可以使用数组的方法来存出现的次数. 数字1~6 是连续的, 数组下标也是连续的.我们可以用下标[0~5] 来代表数字[1~6], 数组的每个格子用来存数字数字出现的次数

完整的代码

//本题使用数组来写代码比较方便,简洁.

import java.util.Random;

public class RandomDemo {

public static void main(String[] args) {

int[] times = new int[6];//6个格子的数组,存储出现的次数

int n = 100;//循环的次数

Random r= new Random();

for (int i = 0; i  n; i++) {

int num = r.nextInt(6)+1;//方法1 随机产生1~6的数字

//int num = (int) (Math.random() * 6) + 1;//方法2 随机产生1~6的数字

times[num - 1] = times[num - 1] + 1;//次数增加1

}

for (int i = 0; i  times.length; i++) {

System.out.println((i + 1) + "出现的次数" + times[i]);

}

}

}

输出:  当n=100时

1出现的次数13

2出现的次数16

3出现的次数17

4出现的次数23

5出现的次数21

6出现的次数10

输出: 当n=1000时

1出现的次数160

2出现的次数177

3出现的次数161

4出现的次数169

5出现的次数175

6出现的次数158

结论:

n=100时, 6是次数是10,  4次数是23,  两者的次数相差2倍多

n=1000时, 6次数是158, 2次数是177, 两者比较接近

说明:  当随机的次数越多. 那么随机数的概率也越来越接近~

java随机出现连续的数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java中如何随机出数并不相同、java随机出现连续的数的信息别忘了在本站进行查找喔。