• 技术文章 >Java >java教程

    Java如何生成随机字符串的两种方法

    黄舟黄舟2017-10-09 10:02:38原创512
    这篇文章主要为大家详细介绍了java生成随机字符串的两种方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    本文实例为大家分享了java生成随机字符串的具体代码,供大家参考,具体内容如下


    import java.util.Random;
    public class CharacterUtils {
    //方法1:length为产生的位数
      public static String getRandomString(int length){
        //定义一个字符串(A-Z,a-z,0-9)即62位;
        String str="zxcvbnmlkjhgfdsaqwertyuiopQWERTYUIOPASDFGHJKLZXCVBNM1234567890";
        //由Random生成随机数
            Random random=new Random();  
            StringBuffer sb=new StringBuffer();
            //长度为几就循环几次
            for(int i=0; i<length; ++i){
              //产生0-61的数字
              int number=random.nextInt(62);
              //将产生的数字通过length次承载到sb中
              sb.append(str.charAt(number));
            }
            //将承载的字符转换成字符串
            return sb.toString();
      }
      /**
       * 第二种方法
       */
      public static String getRandomString2(int length){
        //产生随机数
        Random random=new Random();
        StringBuffer sb=new StringBuffer();
        //循环length次
        for(int i=0; i<length; i++){
          //产生0-2个随机数,既与a-z,A-Z,0-9三种可能
          int number=random.nextInt(3);
          long result=0;
          switch(number){
          //如果number产生的是数字0;
          case 0:
            //产生A-Z的ASCII码
            result=Math.round(Math.random()*25+65);
            //将ASCII码转换成字符
            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:
              //产生0-9的数字
                       sb.append(String.valueOf
                              (new Random().nextInt(10)));
            break; 
          }
        }
        return sb.toString();
      }
      public static void main(String[] args) {
        System.out.println(CharacterUtils.getRandomString(12));
         
      }
       
    }

    以上就是Java如何生成随机字符串的两种方法的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:Java 字符串 随机
    上一篇:Java创建数据库与表的程序分享 下一篇:Java使用continue break制作简单聊天室的实例分析
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 一文掌握Java8新特性Stream流的概念和使用• Java线程学习之并发编程知识点• 完全掌握Java中的抽象类和接口• Java中的set集合如何理解• 详细了解java多线程机制
    1/1

    PHP中文网