精华内容
下载资源
问答
  • 原理就是使用random对象生成随机值,然后根据生成的随机值生成大小写字母或者是数字再拼接成字符串即可,其实准确来说应该是生成任意位数的随机字符串,因为randomSequence的入参size决定了字符串的长度 import ...

    原理就是使用random对象生成随机值,然后根据生成的随机值生成大小写字母或者是数字再拼接成字符串即可,其实准确来说应该是生成任意位数的随机字符串,因为randomSequence的入参size决定了字符串的长度 

    import java.util.Random;
    
    public class GeneratorUtil {
        private static Random random = new Random();
        private static final char ALPHA = 'a';
        private static final char NUMBER = '0';
        private static final char UPPERCASEALPHA = 'A';
        private static final int ALPHABOUND = 26;
        private static final int NUMBERBOUND = 10;
        private static final int RANDOMTYPEBOUND = 3;
    
        public static String randomSequence(int size){
            StringBuffer sequence = new StringBuffer();
            for(int i=0;i<size;i++){
                sequence.append(getRandomValue());
            }
            return sequence.toString();
        }
    
        private static char getRandomValue(){
            int index = random.nextInt(RANDOMTYPEBOUND);
            if(index == 0){
                return randomAlpha();
            }else if(index == 1){
                return randomNumber();
            }else{
                return randomUpperAlpha();
            }
        }
    
        private static char randomAlpha(){
            return randomValue(ALPHA,ALPHABOUND);
        }
    
        private static char randomNumber(){
            return randomValue(NUMBER,NUMBERBOUND);
        }
    
        private static char randomUpperAlpha(){
            return randomValue(UPPERCASEALPHA,ALPHABOUND);
        }
    
        private static char randomValue(int start,int bound){
            int index = random.nextInt(bound);
            char next = (char)(start + index);
            return next;
        }
    
        public static void main(String[] args) {
            for(int i=0;i<10;i++){
                System.out.println(randomSequence(32));
            }
        }
    
    }
    

     

    展开全文
  • Java生成随机长度的随机字符串1. 效果展示2. 代码及注释3. 字符生成4. 多多点赞交流! 1. 效果展示 生成10个长度为5-10的字符串: 可以看到,这里的字符串长度均在要求的范围内,字符串内容包含了常用的字符。 2. ...

    1. 效果展示

    生成10个长度为5-10的字符串:
    在这里插入图片描述

    可以看到,这里的字符串长度均在要求的范围内,字符串内容包含了常用的字符。

    2. 代码及注释

    package csdn;
    
    import java.util.Random;
    
    public class CSDN {
    
    	public static void main(String[] args) {
    		
    		// 调用10次随机字符串生成函数并打印在控制台上
    		for (int i = 0; i < 10; i++) {
    			String randomString=getRandomString(5,10);
    			System.out.println(randomString);
    		}
    	}
    	public static String getRandomString(int minLength, int maxLength) {
    		// 定义随机数生成器,用来产生长度和字符
    		Random random = new Random();
    		
    		// 获得字符串的长度(限定在最大长度内)
    		int length = (int) (maxLength * random.nextDouble());
    		
    		// 限制字符串的最小长度
    		length = length > minLength ? length : minLength;
    		
    		// 定义字符数组存储生成的字符
    		char[] charArray = new char[length];
    		
    		// 生成length个字符,放入charArray中
    		for (int i = 0; i < length; i++) {
    			
    			// 生成一个32-126之间的整数,代表了ASCII码表中常用的字符
    			int tempInt = 32 + (int) (94 * random.nextDouble());
    			
    			// 将整数转为字符型数据储存
    			charArray[i] = (char) (tempInt);
    		}
    		
    		// 将字符数组转为字符串返回
    		return new String(charArray);
    	}
    }
    
    

    这里注释比较清楚,就不再一一解释了,讲一下字符的生成方法吧

    3. 字符生成

    字符生成的语句如下:

    int tempInt = 32 + (int) (94 * random.nextDouble());
    charArray[i] = (char) (tempInt);
    

    第二句不用解释了,说一下第一句。

    放一张ASCII码表:
    在这里插入图片描述
    这里的代码就是相应字符对应的十进制整数的值。

    可以看到,从32(space)开始直到126(~)为止,都是我们常用的字符,因此程序中tempInt的取值就设置在了32-126之间。

    如果有特殊的需求,可以通过更改第一行代码的数字来更换字符的范围。

    4. 多多点赞交流!

    展开全文
  • java 生成随机字符串

    千次阅读 2018-06-13 22:00:53
    java 生成随机字符串 本文我们介绍java中如何生成随机字符串,首先介绍标准java库,然后介绍the Apache Commons Lang library。 java生成随机无限定字符串 首先简单生成7个字符的随机字符串: @Test...

    java 生成随机字符串

    本文我们介绍java中如何生成随机字符串,首先介绍标准java库,然后介绍the Apache Commons Lang library。

    java生成随机无限定字符串

    首先简单生成7个字符的随机字符串:

    @Test
    public void givenUsingPlainJava_whenGeneratingRandomStringUnbounded_thenCorrect() {
        byte[] array = new byte[7]; // length is bounded by 7
        new Random().nextBytes(array);
        String generatedString = new String(array, Charset.forName("UTF-8"));
     
        System.out.println(generatedString);
    }
    

    注意输出字符串不仅是字母或数字。

    java生成随机限定字符串

    下面我们生成一定范围的随机字符串,范围为小写字母并设定长度:

    @Test
    public void givenUsingPlainJava_whenGeneratingRandomStringBounded_thenCorrect() {
      
        int leftLimit = 97; // letter 'a'
        int rightLimit = 122; // letter 'z'
        int targetStringLength = 10;
        Random random = new Random();
        StringBuilder buffer = new StringBuilder(targetStringLength);
        for (int i = 0; i < targetStringLength; i++) {
            int randomLimitedInt = leftLimit + (int) 
              (random.nextFloat() * (rightLimit - leftLimit + 1));
            buffer.append((char) randomLimitedInt);
        }
        String generatedString = buffer.toString();
     
        System.out.println(generatedString);
    }
    

    Apache Commons Lang 生成随机限定字符串

    Apache Commons Lang 库提供很多随机生成字符串方法,下面看如何生成字母字符串:

    @Test
    public void givenUsingApache_whenGeneratingRandomStringBounded_thenCorrect() {
      
        int length = 10;
        boolean useLetters = true;
        boolean useNumbers = false;
        String generatedString = RandomStringUtils.random(length, useLetters, useNumbers);
     
        System.out.println(generatedString);
    }
    

    相比于java实现代码,仅一行就能轻松实现。

    Apache Commons Lang 生成字母字符串

    再看一个简单示例,限定输出为字母字符,但无需传入布尔参数:

    @Test
    public void givenUsingApache_whenGeneratingRandomAlphabeticString_thenCorrect() {
        String generatedString = RandomStringUtils.randomAlphabetic(10);
     
        System.out.println(generatedString);
    }
    

    Apache Commons Lang 生成字母和数字字符串

    最后,我们限定输出范围为(a-z, A-Z) 和数字 0-9:

    @Test
    public void givenUsingPlainJava_whenGeneratingRandomStringUnbounded_thenCorrect() {
        byte[] array = new byte[7]; // length is bounded by 7
        new Random().nextBytes(array);
        String generatedString = new String(array, Charset.forName("UTF-8"));
     
        System.out.println(generatedString);
    }
    

    分别使用标准Java api或Apache Commons库创建有限定范围和无限定范围字符串。

    总结

    本文介绍两种方法生成随机字符串,通过标准Java api或Apache Commons库创建有限定范围和无限定范围字符串。

    展开全文
  • 主要为大家详细介绍了java随机生成10位数字符串ID的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • Java生成随机字符串 很多时候我们需要在Java生成随机字符串,所以我在这里就写一个方法,方便需要的时候调用。 /** * 生成固定长度的随机字符串 * * @param length 随机字符串的长度 * @param type 1、包含...

    Java生成随机字符串

    很多时候我们需要在Java生成随机字符串,所以我在这里就写一个方法,方便需要的时候调用。

    /**
     * 生成固定长度的随机字符串
     * 
     * @param length 随机字符串的长度
     * @param type   1、包含数字、小写字母、大写字母 2、包含数字、大写字母 其他数字默认type为1
     * @return 返回已生成的固定长度的随机字符串
     */
    public static String getRandomString(int strLength, int strType) {
    	String ALLCHAR;
    	StringBuffer sb = new StringBuffer();
    	Random random = new Random();
    	if (strType == 2) {
    		ALLCHAR = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    	} else {
    		ALLCHAR = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    	}
    	for (int i = 0; i < Math.abs(strLength); i++) {
    		sb.append(ALLCHAR.charAt(random.nextInt(ALLCHAR.length())));
    	}
    	return sb.toString();
    }
    
    展开全文
  • Java指定生成长度随机字符串 //需要导入的包 import org.apache.commons.lang3.RandomStringUtils;...//生成16位随机字符串=tyXiSW6w0tbze82W String noncestr = RandomStringUtils.randomAlphanumeric(16); ...
  • //生成8位随机字符串(重复概率1/218万亿) private String generateShortUuid() { String[] chars = new String[] { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q...
  • java生成指定长度的随机字符串

    千次阅读 2014-03-26 14:18:18
    下面是生成指定长度的随机字符串和测试随机字符串函数的重复率以及测试代码: import java.util.Random; public class RandomNum { private static char ch[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', ...
  • 解决方案 Generating a random string of characters is easy - just use java.util.Random and a string containing all the characters you want to be available, e.g. public static String generateString...
  • java随机生成字符串,字符组合多样,可以大小字组合、大+小字符+数字等方式,大家参考使用吧
  • 主要为大家详细介绍了Java生成含字母和数字的6位随机字符串的相关资料,供大家参考,感兴趣的朋友可以参考一下
  • Java生成一个随机字符串

    千次阅读 2018-04-16 22:07:42
    import java.util.Random; public class genstr { public static void main(String [] args) { String ccxl=generateString(100); System.out.print(ccxl); } public static final String allChar =...
  • * 文件描述 : 生成指定长度随机字符串工具类 * 创建人员 : 幽默GUY * 创建日期 : 2018/12/18 0018 * 创建时间 : 10:04 * 最后修改 : */ public class RandomStringTool { private static String base...
  • //生成指定length的随机字符串(A-Z,a-z,0-9) public static String getRandomString(int length) { String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; R...
  • 主要介绍了java随机字符串生成示例,这个字符随机生成类可以生成多种组合的字符串,比如大+小字符+数字+符号,需要的朋友可以参考下
  • //用于保存随机生成字符串;  int i=0;  while(i) {  int f = (int) (Math.random()*3%3);  if(f==0)  ss[i] = (char) ('A'+Math.random()*26);  else if(f==1)  ss[i] = (char) ('a'+Math...
  • Java生成随机字符串

    千次阅读 2019-01-07 17:17:23
    public class MyStringUtil { /** * 生成随机字符串 * * @param stringLength:生成的字符串长度 * @return */ public static String getRandomString(int stringLength) { String strin...
  • 主要为大家详细介绍了java生成随机字符串的两种方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • public String genRandomNum(){ int maxNum = 36; int i; int count = 0; ... char[] str = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K',...该方法加形参,可以改造为生成任意位数的随机字符串
  • 主要介绍了Java 生成随机字符串数组的实例详解的相关资料,主要是利用Collections.sort()方法对泛型为String的List 进行排序,需要的朋友可以参考下
  • [java] view plain cop y public String genRandomNum(){   int maxNum = 36;   int i;   int count = 0;   char[] str = { 'A', 'B', 'C', 'D', '...
  • 生成任意长度的随机字符串.我知道这个问题已被多次询问,我在下面编写了这段代码,我只是想知道有没有更好的方法,然后我写下面的代码?或者我们可以使下面的代码更有效率?public static void main(String[] args) {...
  • Java生成一个随机字符串

    千次阅读 2020-09-25 16:15:07
    文中介绍了Math.random()方法和random.nextInt()方法的功能和使用比较。然后给出了生成N位随机数字和N数字与字符的方法示例。
  • java生成类似token的唯一随机字符串

    万次阅读 2017-12-09 14:59:40
    生成随机字符串可直接使用java.util包下面的UUID类,其为我们提供了一个生成方法,randomUUID()。 下面给出一个方法(去掉了横线拼接符): /** * 生成token * @return */ public static String GetGUID() ...
  • Java 生成随机字符串

    2019-12-28 10:52:27
    思路:先创建一个字符数组,其中放入自己想要生成的字符串所包含的字母,设定需要生成的字符串的个数,然后用 Random 来生成一个随机数作为该字符串的长度,再... // 生成随机字符串 // 创建一个字符数组 char[] c...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 93,062
精华内容 37,224
关键字:

java生成16位的随机字符串

java 订阅