版权声明:转载请注明 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的数字。
}
}
二、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容器,对其进行筛选(推荐)。