zoukankan      html  css  js  c++  java
  • 随机生成一串字符串(java)

    该随笔为开发笔记


    今天在公司接手了一个项目,在看该项目老代码时,发现上一位大佬写的随机取一串字符串还不错,在此做一次开发笔记

    在他的基础上我做了点改动,但是原理一样

      /**
         * 随机取一段字符串方法1
         * 可规定自己想从哪些字符中取
         * @author zk
         *@date: 2019年8月2日 下午5:00:04
         * @param str 字符串来源 如:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
         * @param length 取的长度
         * @return
         */
        public static String getstring1(String str, int length) {
            Random random=new Random();
            StringBuffer sb=new StringBuffer();
            for(int i=0;i<length;i++){
              int number=random.nextInt(str.length());//取一个0-str.length的数
              sb.append(str.charAt(number));//返回指定索引处的字符
            }
            return sb.toString();
        }

    查阅了资料

    再补充两种方式:

     /**
         * 随机取一段字符串方法2
         * 这个是用的ASCII的原理
         * @author zk
         *@date: 2019年8月2日 下午5:07:31
         * @param length 所需长度
         * @return
         */
        public static String getstring2(int length) {
            Random random=new Random();
            StringBuffer sb=new StringBuffer();
            for(int i=0;i<length;i++){
               int number=random.nextInt(3);
               long result=0;
               switch(number){
                  case 0:
                      result=Math.round(Math.random()*25+65);//取一个随机的ASCII码,大写字母
                      sb.append(String.valueOf((char)result));//转字符存起来
                      break;
                 case 1:
                     result=Math.round(Math.random()*25+97);//取一个随机的ASCII码,小写字母
                     sb.append(String.valueOf((char)result));//转字符存起来
                     break;
                 case 2:     
                     sb.append(String.valueOf(new Random().nextInt(10)));//数字
                     break;
                }
             }
             return sb.toString();
        }
        
        /**
         *  随机取一段字符串方法3
         *  org.apache.commons.lang包RandomStringUtils类randomAlphanumeric方法随机生成一定长度的字符串
         * @author zk
         *@date: 2019年8月2日 下午5:11:48
         * @param length 所需长度
         * @return
         */
        public static String getstring3(int length) {
            String filename=RandomStringUtils.randomAlphanumeric(length);
            return filename;
        }

    以上就为本次的开发笔记

  • 相关阅读:
    AcWing 900. 整数划分
    AcWing 913. 排队打水
    AcWing 897. 最长公共子序列
    AcWing 895. 最长上升子序列
    AcWing 902. 最短编辑距离
    AcWing 338. 计数问题
    AcWing 896. 最长上升子序列 II
    AcWing 779. 最长公共字符串后缀
    AcWing 282. 石子合并
    ASP.NET里常用的JS (转贴)
  • 原文地址:https://www.cnblogs.com/zktww/p/11289926.html
Copyright © 2011-2022 走看看