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;
        }

    以上就为本次的开发笔记

  • 相关阅读:
    QML中的信号和函数
    Hangfire入门(任务调度)
    js 批量设置css样式
    phpstudy配置伪静态的方法
    mysql 文件导入方法总结
    通过配置Mysql参数提高写入速度
    phpmyadmin导入数据库大小限制修改
    易语言入门之一 简介
    判断移动设备、触屏
    Compiler Error Message: CS0016: Could not write to output file 回绝访问
  • 原文地址:https://www.cnblogs.com/zktww/p/11289926.html
Copyright © 2011-2022 走看看