当前位置 : 主页 > 编程语言 > java >

随机码生成工具类

来源:互联网 收集:自由互联 发布时间:2021-06-28
gistfile1.txt package cn.dceast.ci.common.utils;import java.text.DecimalFormat;import java.util.HashSet;/** 编码生成工具类* @author wanggw* @version 2017-9-29* */public class CreateCodeUtils {// public static void main(String[] args)
gistfile1.txt
package cn.dceast.ci.common.utils;

import java.text.DecimalFormat;
import java.util.HashSet;
/*
* 编码生成工具类
* @author wanggw
* @version 2017-9-29
* */
public class CreateCodeUtils {

//    public static void main(String[] args){
//
//        DecimalFormat mFormat = new DecimalFormat("00000000");
//        StringBuilder str=new StringBuilder();
//        String productType="1";//产品类型第1位
//        String registrationNo="123456";//农业登记证后6位,2-7位
//        String productSpec="000";//产品规格占3位
//        int number=1000000;//生成个数
//        str.append(productType);
//        str.append(registrationNo);
//        str.append(productSpec);
//        str.append(System.currentTimeMillis());
//        HashSet
 
   set=new HashSet
  
   (number); // Long start=System.currentTimeMillis(); // randomSetNew(str,number,number,set); // Long end=System.currentTimeMillis(); // System.out.println("一共花了 "+(end-start)); // for (String s:set){ // // System.out.println(s+" "+s.length()); // } // System.out.println("一共花了 "+(end-start)); // } /** * 生成8位随机数 * @param str * @param n * @param m * @param set */ public static void randomSetNew( StringBuilder str,int n,int m, HashSet
   
     set) { DecimalFormat mFormat = new DecimalFormat("00000000"); for (int i = 0; i < n; i++) { int num = (int) (Math.random() * 100000000); set.add(str.toString()+mFormat.format(num));// 将不同的数存入HashSet中 } int setSize = set.size(); // 如果存入的数小于指定生成的个数,则调用递归再生成剩余个数的随机数,如此循环,直到达到指定大小 if (setSize < m) { randomSetNew( str,n - setSize,m, set);// 递归 } } /** * 生成7位随机数 * @param str * @param n * @param m * @param set */ public static void randomSet( StringBuilder str,int n,int m, HashSet
    
      set) { DecimalFormat mFormat = new DecimalFormat("0000000"); for (int i = 0; i < n; i++) { int num = (int) (Math.random() * 10000000); set.add(str.toString()+mFormat.format(num));// 将不同的数存入HashSet中 } int setSize = set.size(); // 如果存入的数小于指定生成的个数,则调用递归再生成剩余个数的随机数,如此循环,直到达到指定大小 if (setSize < m) { randomSet( str,n - setSize,m, set);// 递归 } } }
    
   
  
 
上一篇:时间工具类
下一篇:cookie工具类2
网友评论