• 随机生成字符串方法


     1 package beifeng.hadoop;
     2 
     3 import java.util.Random;
     4 import org.apache.commons.lang.RandomStringUtils;
     5 
     6 /**
     7  * Three Methods to generate random string.
     8  */
     9 
    10     public class RandomString {
    11     /**
    12      * 生成的字符串每个位置都有可能是str中的一个字母或数字,需要导入的包是import java.util.Random;
    13      * @param length 用户要求产生字符串的长度
    14      * @return
    15      */
    16 
    17     public static String getRandomString(int length) {
    18         String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    19         Random random = new Random();
    20         StringBuffer sb = new StringBuffer();
    21         for (int i = 0; i < length; i++) {
    22             // 生产0-61之间的整数
    23             int number = random.nextInt(62);
    24             // 添加返回指定索引处的字符
    25             sb.append(str.charAt(number));
    26         }
    27         return sb.toString();
    28     }
    29 
    30     /**
    31      * 可以指定某个位置是a-z、A-Z或是0-9,需要导入的包是import java.util.Random;可以指定字符串的某个位置是什么范围的值
    32      * @param length 用户要求产生字符串的长度
    33      * @return
    34      */
    35 
    36     public static String getRandomString2(int length) {
    37         Random random = new Random();
    38         StringBuffer sb = new StringBuffer();
    39         for (int i = 0; i < length; i++) {
    40             int number = random.nextInt(3);
    41             long result = 0;
    42             switch (number) {
    43             case 0:
    44                 result = Math.round(Math.random() * 25 + 65);
    45                 sb.append(String.valueOf((char) result));
    46                 break;
    47             case 1:
    48                 result = Math.round(Math.random() * 25 + 97);
    49                 sb.append(String.valueOf((char) result));
    50                 break;
    51             case 2:
    52                 sb.append(String.valueOf(new Random().nextInt(10)));
    53                 break;
    54             }
    55 
    56         }
    57         return sb.toString();
    58     }
    59 
    60     public static void main(String[] args) {
    61         RandomString randomstring = new RandomString();
    62         String newString = randomstring.getRandomString(5);
    63         System.out.println(newString);
    64 
    65         RandomString randomstring2 = new RandomString();
    66         String newString2 = randomstring.getRandomString2(10);
    67         System.out.println(newString2);
    68 
    69         /**
    70          * org.apache.commons.lang包下有一个RandomStringUtils类,
    71          * 其中有一个randomAlphanumeric(int length)函数,可以随机生成一个长度为length的字符串
    72          */
    73 
    74         String newString3 = RandomStringUtils.randomAlphanumeric(10);
    75         System.out.println(newString3);
    76 
    77     }
    78 }

     

  • 相关阅读:
    [NOI Online 2021 提高组] 愤怒的小 N
    CF1474F 1 2 3 4 ...
    CF1466H Finding satisfactory solutions
    CF1336F Journey
    [PKUSC2021]代金券
    如何科学地设计对拍随机种子
    CF1168E Xor Permutations
    「JOISC 2019 Day2」两种运输
    springboot json参数
    springboot整合webserver应用
  • 原文地址:https://www.cnblogs.com/perfectdata/p/10134330.html
Copyright © 2020-2023  润新知