这个类的主要功能是取得随机数的操作类
范例:产生10个不大于100的正整数(0-99)
import java.util.Random;
public class TestDemo{
public static void main(String[] args) throws Exception{
Random random=new Random();
for (int i = 0; i < 10; i++) {
System.out.println(random.nextInt(100)+"===");
}
}
}
结果:
image.png
既然Random可以产生随机数,下面就希望利用其来实现一个36选7的功能。
最大值到36,所以设置边界数值就是37,并且里面不能有0或者重复数据。
package TestDemo;
import java.util.Random;
public class TestDemo{
public static void main(String[] args) throws Exception{
Random random=new Random();
//开辟一个7个元素的数组
int data[]=new int[7];
int foot=0;//此为数组的角标
//不知道次数,使用while循环
while(foot<7){
int t=random.nextInt(37);//生成一个不大于37的随机数
if(!isRepeat(data,t)){
data[foot]=t;
foot++;
}
}
for (int i = 0; i < data.length; i++) {
System.out.println(data[i]);
}
}
/**
* 此方法判断是否存在重复的内容,但是不允许保存0
* @param temp 已经保存的数组
* @param num 新生成的数据
* @return 如果重复,那么返回true,否则返回false
*/
public static boolean isRepeat(int temp[],int num){
if(num==0){
return true;
}
for (int i = 0; i < temp.length; i++) {
if(temp[i]==num)
return true;
}
return false;
}
}
初始化,重复判断,角标选择,次数不知道的情况下,while条件循环。
结果:
image.png
在很多的开发之中随机数都一定会有。
网友评论