JAVA——产生N个随机数

版权声明:转载请注明 https://blog.csdn.net/NCC__dapeng/article/details/83892958

这里只介绍两种产生随机数的方法Random,Math.random.

一、Random

这里先给出使用模板:

package a;
import java.util.Random;


public class a {

	public static void main(String[] args) {
		Random ran=new Random();
	}

}

建立了一个Random对象ran,此后所有关于Random的方法均由ran调用,下面给出一些简单的应用。

package a;
import java.util.Random;


public class a {

	public static void main(String[] args) {
		Random ran=new Random();
		
		for(int i=0;i<10;i++)
		{
			System.out.println(ran.nextInt());
		}
		//随机生成10个数字,范围不限,正负不限
		
		for(int i=0;i<10;i++)
		{
			System.out.println(ran.nextInt(100));
		}
		//随机生成10个0-100(这里不包括100,但是包括零)的数字,注意这里只能是正数
		
		int min=10,max=100;
		for(int i=0;i<10;i++)
		{
			System.out.println(ran.nextInt(max-min+1)+min);
		}
		//随机生成10个min-max的数字。
	}

}

更多Random细节点这里

二、Math.random

简单说一下这个函数,Math.radom会随机生成大于等于0.0,并且小于1.0的数(注意这里依旧无法生成1);

所以使用Math.random的一般方法为:

package a;
//不需要导入任何包


public class a {

	public static void main(String[] args) {
		int  num=(int)Math.random()*100;//因为是生成的浮点数所以必须进行强制类型转换
		
	}

}

下面给出此类方法的 简单应用

package a;
//不需要导入任何包


public class a {

	public static void main(String[] args) {
		
		int min=10,max=100;
		for(int i=0;i<10;i++)
		{
			int  num=(int)(Math.random()*(max-min+1))+min;
			System.out.println(num);
		}
       //其余的不在一一列举
		
	}

}

注意很多时候随机数会产生重复的,这就要求我们筛选重复值,这里也给出简单的说明.

1、反复遍历数组,如果存在这个数字,就不放进去,如果不存在就放入。(最简单暴力)

2、还有就是使用hashset容器,对其进行筛选(推荐)。

猜你喜欢

转载自blog.csdn.net/NCC__dapeng/article/details/83892958