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

    以上就为本次的开发笔记

  • 相关阅读:
    套接字socket
    Windows环境下教你用Eclipse ADT 插件生成.h/.so文件,Java下调用JNI,轻松学习JNI
    How to start/stop DB instance of Oracle under Linux
    Oracle SGA具体解释
    Oracle Study之--Oracle 单实例11.2.0.1.0升级到11.2.0.3.0
    MapReduce(十六): 写数据到HDFS的源代码分析
    Spring表达式语言SpEL简单介绍
    LinkCutTree详解
    洛谷P3379 【模板】最近公共祖先(LCA)(树链剖分)
    树链剖分详解
  • 原文地址:https://www.cnblogs.com/zktww/p/11289926.html
Copyright © 2011-2022 走看看