数字操作类(Random)类

这个类的主要功能是取得随机数的操作类
范例:产生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)+"===");

        }
    }   
}

结果:


9003228-78326116de2645ef.png
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条件循环。
结果:


9003228-329386d3ab5c43b5.png
image.png

在很多的开发之中随机数都一定会有。

猜你喜欢

转载自blog.csdn.net/weixin_33752045/article/details/87523555