zoukankan      html  css  js  c++  java
  • Random生成随机数

    random用于生成0-1之间随机数。可以用java.util.Random的random随机数类,也可以用java.lang下的Math.random()。对于一些方法建议去看源码更加清晰一些。

    1、生成指定位数的随机数

    //利用随机数对象random
    public class RandomUtil {
    	/**
    	 * 生成指定位数的随机数
    	 * @param length 随机数长度
    	 * @return
    	 */
    	public static String getRandom(int length){
    		String val = "";
    		Random random = new Random();
    		for (int i = 0; i < length; i++) {
    			val += String.valueOf(random.nextInt(10));
    		}
    		return val;
    	}
        
    public static void main(String[] args) {
      System.out.println(getRandom(6));
    }
    

    2、生成指定范围内的随机数

    public static void main(String[] args) {
            //打印 10到20之间的随机数
            int min = 10;
            int max = 20;
            for(int i=0;i<10;i++){
                System.out.println(new Random().nextInt(max-min)+min);
            }
    }
    

    3、生成指定位数的不重复的随机数

    生成的随机数有可能是重复的,因此如果要生成不重复的随机数,只需要把生成的随机数放入set集合中即可。

    	/**
         *
         * @param len 随机数长度
         * @return 返回一个随机数拼接成的字符
         */
        public static String getRandom(int len){
            String ISBN="";
            Random random = new Random();
            for (int i = 0; i < len; i++) {
                ISBN += String.valueOf(random.nextInt(10));
            }
            return ISBN;
        }
    
        /**
         *
         * @param len 随机数位数长度
         * @param num 要生成的随机数个数
         * @return 返回一个不重复的随机数list
         */
        public static List<String> getDistinctRandom(int len, int num) {
                    Set<String> s = new HashSet<>();
                    while (s.size() < num) {
                          s.add(getRandom(len));
                       }
                   return new ArrayList<>(s);
        }
    
        public static void main(String[] args) {
            List list=getDistinctRandom(10,10);
            
            for (int i = 0; i <list.size() ; i++) {
                System.out.println(list.get(i));
            }
        }
    

    参考博文:
    (1) https://blog.csdn.net/csdnliuxin123524/article/details/80240178
    (2) https://www.cnblogs.com/pcheng/p/10956570.html

  • 相关阅读:
    es6-compact-table 名词备忘
    JS 防抖和节流函数
    为什么 JS 对象内部属性遍历的顺序乱了
    JS 发送 HTTP 请求方法封装
    JS 一些位操作的妙用
    JS 格式化时间
    linux ssh连接
    c# checked 和 unchecked
    c# mvc action 跳转方式
    IIS 动态与静态压缩
  • 原文地址:https://www.cnblogs.com/jasonboren/p/12879578.html
Copyright © 2011-2022 走看看