zoukankan      html  css  js  c++  java
  • Java随机生成字符串举例

    Java代码:

    package tools.randomstring;
    
    import org.apache.commons.lang.RandomStringUtils;
    
    import java.util.Random;
    
    public class RandomString {
    
        /**
         * 1、生成的字符串每个位置都有可能是str中的一个字母或数字,需要导入的包是import java.util.Random;
         *
         * @param length:用户要求产生字符串的长度
         */
        public static String getRandomString(int length) {
    //        String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
            String str = "赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜";
            Random random = new Random();
            StringBuffer sb = new StringBuffer();
            for (int i = 0; i < length; i++) {
                int number = random.nextInt(str.length());
                sb.append(str.charAt(number));
            }
            return sb.toString();
        }
    
        /**
         * 2、可以指定某个位置是a-z、A-Z或是0-9
         */
        public static String getRandomString2(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);
                        sb.append(String.valueOf((char) result));
                        break;
                    case 1:
                        result = Math.round(Math.random() * 25 + 97);
                        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(int length)函数,
         * 可以随机生成一个长度为length的字符串。
         */
        public static String getRandomString3(int length) {
            String str = RandomStringUtils.randomAlphanumeric(length);
            return str;
        }
    
        public static void main(String[] args) {
            String str = getRandomString(2);
            System.out.println("方法一:" + str);
            str = getRandomString2(3);
            System.out.println("方法二:" + str);
            str = getRandomString3(4);
            System.out.println("方法三:" + str);
        }
    
    }

    运行结果:

    方法一:陶尤
    方法二:hQz
    方法三:b35n
  • 相关阅读:
    C语言,C++,static
    英语自我介绍
    总线接口与计算机通信(五)CAN总线
    总线接口与计算机通信(二)SPI总线
    总线接口与计算机通信(一)I2C总线
    总线接口与计算机通信
    C语言函数指针
    服务器体系(SMP, NUMA, MPP)与共享存储器架构(UMA和NUMA)
    实时调度类
    Linux CFS调度器之唤醒抢占--Linux进程的管理与调度(三十)
  • 原文地址:https://www.cnblogs.com/gongxr/p/13914547.html
Copyright © 2011-2022 走看看