码迷,mamicode.com
首页 > 编程语言 > 详细

Java随机字符串生成

时间:2020-07-04 11:59:57      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:dom1   参考   包含   print   and   随机   builder   string   oms   

     //方法一  需要包:import java.util.Random;
        //生成的字符串每个位置都有可能是str中的一个字母或数字
        int length = 12;
        String str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        Random random = new Random();
        StringBuilder stringBuilder = new StringBuilder();
        for(int i = 0;i<length;i++){
            //random.nextInt(62)会生成一个范围在0~x(不包含X)内的任意正整数
            int num = random.nextInt(62);
            stringBuilder.append(str.charAt(num));
        }
        System.out.println(stringBuilder);

        //方法二 org.apache.commons.lang包下有一个RandomStringUtils类,其中有一个randomAlphanumeric(int length)函数,
        // 可以随机生成一个长度为length的字符串。
        String string= RandomStringUtils.randomAlphanumeric(12);
        System.out.println(string);
        //产生5位长度的随机字符串,中文环境下是乱码
        System.out.println(RandomStringUtils.random(5));
        //使用指定的字符生成5位长度的随机字符串
        System.out.println(RandomStringUtils.random(5, new char[]{‘a‘,‘b‘,‘c‘,‘d‘,‘e‘,‘f‘, ‘1‘, ‘2‘, ‘3‘}));
        //生成指定长度的字母和数字的随机组合字符串
        System.out.println(RandomStringUtils.randomAlphanumeric(5));
        //生成随机数字字符串
        System.out.println(RandomStringUtils.randomNumeric(5));
        //生成随机[a-z]字符串,包含大小写
        System.out.println(RandomStringUtils.randomAlphabetic(5));
        //生成从ASCII 32到126组成的随机字符串
        System.out.println(RandomStringUtils.randomAscii(4));

        //方法三 可以指定某个位置是a-z、A-Z或是0-9
        Random random1=new Random();
        StringBuffer sb=new StringBuffer();
        for(int i=0;i<length;i++){
            int number=random1.nextInt(3);
            long result=0;
            switch(number){
                case 0:
                    //对应A-Z 参考ASCII编码表
                    result=Math.round(Math.random()*25+65);
                    sb.append(String.valueOf((char)result));
                    break;
                case 1:
                    //对应a-z 参考ASCII编码表
                    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;
            }

        }
        System.out.println(sb);

 

Java随机字符串生成

标签:dom1   参考   包含   print   and   随机   builder   string   oms   

原文地址:https://www.cnblogs.com/succ5120/p/13234307.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!