• 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
  • 相关阅读:
    silverlight click 事件委托是 RoutedEventHandler
    silverlight 2 系统对话框
    CSLA.Net 3.0.5 项目管理示例 UI ProjectEdit.aspx
    委托和事件 委托
    Visual Studio 项目模板、文件模板、代码段和环境设置
    C# 打好基础图文详解
    Hession 基础应用
    ADO.NET Entity Framework 概述
    CSLA.Net 3.0.5 项目管理示例 业务基类 Project.cs
    关于使用 Visual Studio 开发环境收费的问题,博友们谁有经验分享一下。
  • 原文地址:https://www.cnblogs.com/gongxr/p/13914547.html
Copyright © 2020-2023  润新知