精华内容
下载资源
问答
  • packagep2p_web;importjava.util.ArrayList;importjava.util.Arrays;.../*** 字符随机生成类*@authorASUS**/public classPassWord {/*** 密码类型枚举*@authorASUS*/public static enumTYPE {/*** 字符型*/LETTE...

    packagep2p_web;importjava.util.ArrayList;importjava.util.Arrays;importjava.util.Random;/*** 字符随机生成类

    *@authorASUS

    **/

    public classPassWord {/*** 密码类型枚举

    *@authorASUS*/

    public static enumTYPE {/*** 字符型*/LETTER,/*** 大写字符型*/CAPITAL,/*** 数字型*/NUMBER,/*** 符号型*/SIGN,/*** 大+小字符 型*/LETTER_CAPITAL,/*** 小字符+数字 型*/LETTER_NUMBER,/*** 大+小字符+数字 型*/LETTER_CAPITAL_NUMBER,/*** 大+小字符+数字+符号 型*/LETTER_CAPITAL_NUMBER_SIGN

    }private static String[] lowercase ={"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"};private static String[] capital ={"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};private static String[] number ={"1","2","3","4","5","6","7","8","9","0"};private static String[] sign ={"~","!","@","#","$","%","^","&","*","(",")","_","+","`","-","=","{","}","|",":","\"","","?","[","]","\\",";","'",",",".","/"};/*** 静态随机数*/

    private static Random random = newRandom();public static voidmain(String[] args) {

    System.out.println(PassWord.getRandom(24, PassWord.TYPE.LETTER_CAPITAL_NUMBER_SIGN));

    }/*** 获取随机组合码

    *@paramnum 位数

    *@paramtype 类型

    * @type

    *
    字符型 LETTER,

    *
    大写字符型 CAPITAL,

    *
    数字型 NUMBER,

    *
    符号型 SIGN,

    *
    大+小字符型 LETTER_CAPITAL,

    *
    小字符+数字 型 LETTER_NUMBER,

    *
    大+小字符+数字 型 LETTER_CAPITAL_NUMBER,

    *
    大+小字符+数字+符号 型 LETTER_CAPITAL_NUMBER_SIGN*/

    public static String getRandom(intnum,TYPE type){

    ArrayList temp = new ArrayList();

    StringBuffer code= newStringBuffer();if(type ==TYPE.LETTER){

    temp.addAll(Arrays.asList(lowercase));

    }else if(type ==TYPE.CAPITAL){

    temp.addAll(Arrays.asList(capital));

    }else if(type ==TYPE.NUMBER){

    temp.addAll(Arrays.asList(number));

    }else if(type ==TYPE.SIGN){

    temp.addAll(Arrays.asList(sign));

    }else if(type ==TYPE.LETTER_CAPITAL){

    temp.addAll(Arrays.asList(lowercase));

    temp.addAll(Arrays.asList(capital));

    }else if(type ==TYPE.LETTER_NUMBER){

    temp.addAll(Arrays.asList(lowercase));

    temp.addAll(Arrays.asList(number));

    }else if(type ==TYPE.LETTER_CAPITAL_NUMBER){

    temp.addAll(Arrays.asList(lowercase));

    temp.addAll(Arrays.asList(capital));

    temp.addAll(Arrays.asList(number));

    }else if(type ==TYPE.LETTER_CAPITAL_NUMBER_SIGN){

    temp.addAll(Arrays.asList(lowercase));

    temp.addAll(Arrays.asList(capital));

    temp.addAll(Arrays.asList(number));

    temp.addAll(Arrays.asList(sign));

    }for (int i = 0; i < num; i++) {

    code.append(temp.get(random.nextInt(temp.size())));

    }returncode.toString();

    }

    }

    展开全文
  • 随机产生扑克牌的思路:1、定义字符数组,构造一副顺序存放的新牌,包括花色与牌值。2、根据随机数把新牌打乱。3、按数组分发新牌(根据规则显示)。代码如下: #include #include void main(void){int i,j;char ch1,...

    方法一

    计算机解决实际问题常用数据模拟和构造的方法。借助于数组,数据模拟和构造可以很方便地实现。

    随机产生扑克牌的思路:

    1、定义字符数组,构造一副顺序存放的新牌,包括花色与牌值。

    2、根据随机数把新牌打乱。

    3、按数组分发新牌(根据规则显示)。

    代码如下:

    #include

    #include

    void main(void)

    {

    int i,j;

    char ch1,ch2;

    char s[104];/* 存放一副牌 */

    char a[]="hdsc";/* 定义花色 */

    /* 定义牌值 */

    char b[14] = "akqj1098765432";

    /* 生成一副新牌 */

    for(i=0;i<4;i )

    {

    for(j=0;j<13;j )

    {

    s[2*j 26*i] = a[i];

    s[2*j 26*i 1] = b[j];

    }

    }

    randomize(); /* 初始化随机数发生器 */

    for(i=0;i<52;i )

    {

    j = random(52-i);

    ch1 = s[2*j];   /* 与最后一张牌交换花色 */

    s[2*j] = s[102-2*i];

    s[102-2*i] = ch1;

    ch2 = s[2*j 1];   /* 与最后一张牌交换牌值 */

    s[2*j 1] = s[103-2*i];

    s[103-2*i] = ch2;

    }

    printf("nn");

    for(i=0,j=0;i<104;i =2,j ) /* 显示大乱后新牌 */

    {

    if(!(j))

    {

    printf("nnn"); /* 13张牌为一组 */

    }

    printf("  %c%c",s[i],s[i 1]);

    }

    getch();

    }

    方法二

    #include

    #include

    #include

    #include

    // using namespace std;

    int main()

    {

    const char *c = "0123456789abcdefghijklmnopqrstuvwxyz";

    srand(static_cast(time(null)));

    std::cout << "the random char array is:";

    for(int i = 0; i < 5; i)

    {

    std::cout << std::endl;

    int index = 0 ;

    for(int j = 0; j < 5; j)

    {

    index = rand() % strlen(c);

    std::cout << c[index ]

    << c[index]

    << " ";

    }

    }

    std::cout << std::endl;

    return 0;

    }

    运行效果如下:

    the random char array is:

    00 qq 88 ii zz

    qq bb oo 00 yy

    rr yy tt ww ll

    ss rr aa bb oo

    11 yy tt 33 uu

    展开全文
  • 1、打开函数助手 2、生成函数 3、查看结果

    1、打开函数助手

    在这里插入图片描述

    2、生成函数

    在这里插入图片描述

    3、查看结果

    在这里插入图片描述

    展开全文
  • Java提供了许多不同的方法来编写随机字符生成器应用程序,下面介绍几种方式。UUIDUUID是由一组32位数的16进制数字所构成,故UUID理论上的总数为1632=2128,约等于3.4 x 1038。也就是说若每纳秒产生1兆个UUID,要花...

    当您想要生成一个唯一的事务id或作为一个随机临时密码生成器,用户首次在网站上注册或创建防止自动输入的验证码时,通常需要生成随机的字符序列。

    Java提供了许多不同的方法来编写随机字符串生成器应用程序,下面介绍几种方式。

    UUID

    UUID是由一组32位数的16进制数字所构成,故UUID理论上的总数为1632=2128,约等于3.4 x 1038。也就是说若每纳秒产生1兆个UUID,要花100亿年才会将所有UUID用完。

    java.util.UUID 类可用于生成UUID, 它的static randomUUID方法返回一个32个字符的字符串。

    import java.util.UUID;

    public class RandomStringGenerator{

    public static void main(String[] args){

    String randomString = usingUUID();

    System.out.println("Random string is: " + randomString);

    System.out.println("Random string of 8 characters is: "

    + randomString.substring(0, 8));

    }

    static String usingUUID(){

    UUID randomUUID = UUID.randomUUID();

    return randomUUID.toString().replaceAll("-", "");

    }

    }

    注意randomUUID方法生成的字符串包含“-”。上面的示例通过使用空字符串替换了。

    以上程序输出为:

    Random string is: 923ed6ec4d04452eaf258ec8a4391a0f

    Random string of 8 characters is: 923ed6ec

    使用Math类

    下面的算法可以使用这种方法生成一个固定长度的随机字符串。

    初始化一个空字符串以保存结果。

    创建大小写字母和数字的组合,以创建一组超级字符。

    启动一个循环,该循环的count等于所需的随机字符串长度。

    在每次迭代中,生成一个介于0和超集长度之间的随机数。

    在步骤4中生成的数字索引处从步骤2中的字符串中提取字符,并将其添加到步骤1中的字符串中。

    循环完成后,步骤1中的字符串将是一个随机字符串。

    示例代码:

    import java.util.Math;

    public class RandomStringGenerator{

    public static void main(String[] args){

    String randomString = usingMath(10);

    System.out.println("Random string is: " + randomString);

    }

    static String usingMath(int length){

    String alphabetsInUpperCase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

    String alphabetsInLowerCase = "abcdefghijklmnopqrstuvwxyz";

    String numbers = "0123456789";

    // create a super set of all characters

    String allCharacters = alphabetsInLowerCase + alphabetsInUpperCase + numbers;

    // initialize a string to hold result

    StringBuffer randomString = new StringBuffer();

    // loop for 10 times

    for (int i = 0; i < length; i++) {

    // generate a random number between 0 and length of all characters

    int randomIndex = (int)(Math.random() * allCharacters.length());

    // retrieve character at index and add it to result

    randomString.append(allCharacters.charAt(randomIndex));

    }

    return randomString.toString();

    }

    }

    以上程序输出为:

    Random string is: kqNG2SYHeF

    Random string is: lCppqqUg8P

    Random string is: GGiFiEP5Dz

    这种方法使您能够更好地控制需要包含在随机字符串中的字符。例如,如果您不想要数字,那么就从超集中删除它们。如果您想要特殊字符,那么就在超集中添加一组特殊字符。

    使用Random类

    此方法与Math方法类似,即创建所有字符的超集,生成一个随机索引,并使用该索引处的字符创建最终字符串。

    这种方法使用java.util.Random 类生成随机索引。

    示例代码:

    import java.util.Random;

    public class RandomStringGenerator{

    public static void main(String[] args){

    String randomString = usingRandom(10);

    System.out.println("Random string is: " + randomString);

    }

    static String usingRandom(int length){

    String alphabetsInUpperCase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

    String alphabetsInLowerCase = "abcdefghijklmnopqrstuvwxyz";

    String numbers = "0123456789";

    // create a super set of all characters

    String allCharacters = alphabetsInLowerCase + alphabetsInUpperCase + numbers;

    // initialize a string to hold result

    StringBuffer randomString = new StringBuffer();

    // loop for 10 times

    for (int i = 0; i < length; i++) {

    // generate a random number between 0 and length of all characters

    int randomIndex = random.nextInt(allCharacters.length());

    // retrieve character at index and add it to result

    randomString.append(allCharacters.charAt(randomIndex));

    }

    return randomString.toString();

    }

    }

    以上程序输出为:

    Random string is: TycOBOxITs

    Random string is: 7LLWVbg0ps

    Random string is: p6VyqdO6bT

    您还可以使用java.util.SecureRandom类生成一个随机整数。它是java.util.Random的一个子类。

    使用RandomStringUtils类

    Apache Commons Lang库有一个org.apache.commons.lang.RandomStringUtils类,该类具有生成固定长度的随机字符串的方法。

    它的方法可以生成只包含字母(随机字母)、数字(随机数字)或两者(随机字母数字)的随机字符串。

    所有这些方法都接受一个整数参数,该参数表示它们将生成的字符串的长度。

    示例代码:

    import org.apache.commons.lang.RandomStringUtils;

    public class RandomStringGenerator{

    public static void main(String[] args){

    // generate a random string of 10 alphabets

    String randomString = RandomStringUtils.randomAlphabetic(10);

    System.out.println("Random string of 10 alphabets: " + randomString);

    randomString = RandomStringUtils.randomNumeric(10);

    System.out.println("Random string of 10 numbers: " + randomString);

    randomString = RandomStringUtils.randomAlphanumeric(10);

    System.out.println("Random string of 10 alphanumeric characters: " + randomString);

    }

    }

    以上程序输出为:

    Random string of 10 alphabets: OEfadIYfFm

    Random string of 10 numbers: 1639479195

    Random string of 10 alphanumeric characters: wTQRMXrNY9

    该类还有一个方法random,该方法接受一个整数(即要生成的字符串的长度)和一个char数组。生成的随机字符串仅由该数组中的字符组成。

    通过根据构建工具添加以下依赖项,可以将Apache Commons Lang包含到您的项目中。

    org.apache.commons

    commons-lang3

    3.9

    希望这篇文章对你有所帮助。您知道其他随机字符串生成器方法吗?

    展开全文
  • 1、生成字符串每个位置都有可能是str中的一个字母或数字,需要导入的包是import java.util.Random;//length用户要求产生字符串的长度public static String getRandomString(int length){String str=...
  • 2.定义随机生成索引函数 /** * 随机生成索引 * @param min 最小值 * @param max 最大值 * @param i 当前获取位置 */ function RandomIndex(min, max, i){ let index = Math.floor(Math.rand
  • 如何随机生成字符

    2021-09-22 18:12:37
    random.sample(string.ascii_letters + string.digits, 8) string.ascii_letters 从a-z和A-Z string.digits 0-9
  • 你可以创建一个字符数组,其中包含你希望允许在随机字符串中的所有字符,然后在循环中从数组中取一个随机位置并添加附加到stringBuilder。最后,将stringBuilder转换为字符串。编辑:这是我建议的简单算法:private ...
  • java生成随机字符

    2021-02-12 20:37:11
    学习java comparable特性时候,定义如下Student类,需要需要随机添加学生姓名以及学号和成绩,这是java如何随机生成名字,根据我的查询,我找到目前java库支持两种方法。1. org.apache.commons.lang3....
  • //time返回时间戳 { //定义随机生成字符串表 char *str = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; int i,lstr; char ss[2] = {0}; lstr = strlen(str);//计算字符串长度 srand(...
  • java随机字符生成工具

    2021-03-09 19:05:00
    以下是我自己在工作中常用到的,比较好用,分享给大家。package org.phoenix.api.utils;import java.io.UnsupportedEncodingException;import java.util.Random;.../*** 随机字符工具类* @author mengfeiy...
  • C++ 生成随机字符

    千次阅读 2020-12-27 10:12:03
    C++ 生成随机字符串 这个需求也是最近一个项目里的实际需求。测试一个数据库相关的代码。要往数据库里随机的填写一些字段。 从原理上是很容易实现。建立一个数组,存放一些字符。然后随机的从里面取一些字符凑成一个...
  • 用Java生成随机字符

    2021-03-17 14:03:00
    让我们首先声明一个字符串数组并初始化-String[]strArr={"P","Q","R","S","T","U","V","W"};现在,创建一个Random对象-...生成随机字符串-intres=rand.nextInt(strArr.length);示例importjava.util.Random;public...
  • //由Random生成随机数 Random random=new Random(); StringBuffer sb=new StringBuffer(); //长度为几就循环几次 for(int i=0; i //产生0-61的数字 int number=random.nextInt(62); //将产生的数字通过length次承载...
  • 一套优秀的随机字符串生成机制不仅需要确保全局唯一性,还需要考虑到性能等问题。...前言用字母和数字随机生成不重复的字符串需要满足如下条件:唯一性:确保每个字符串都是系统中独一无二的,使得可以...
  • JavaScript生成随机字符

    2021-06-27 10:09:35
    总结 以上是编程之家为你收集整理的JavaScript生成随机字符全部内容,希望文章能够帮你解决JavaScript生成随机字符所遇到的程序开发问题。 如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。 ...
  • 生成随机字符串函数如下 private function getRandomString($len,$char=null){ if (is_null($char)){ $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; } //随机数播种生成器 //...
  • set global log_bin_trust_function_creators = 1;DROP FUNCTION IF EXISTS rand_string;DELIMITER $$CREATE FUNCTION rand_string(n INT)RETURNS VARCHAR(255)BEGINDECLARE chars_str varchar(100) DEFAULT 'abcdef...
  • package org.nhooo.example.security; import java.security.SecureRandom; import java.util.Random;... } } 代码段产生的示例字符串为:uxEUFqTqS0 vr89vdF4gh ysYF9XEHhO5FtDf aBANhrLObZ1XLJi
  • import java.util.ArrayList;import java.util.Arrays;import java.util.Random;/*** 字符随机生成类* @author ASUS**/public class PassWord {/*** 密码类型枚举* @author ASUS*/public static enum T...
  • Python生成随机字符

    2021-03-27 22:52:33
    Python生成随机字符串前言一、实现思路二、完整的程序1.代码2.运行结果 前言 有些时候,我们需要用随机字符串来作为验证码,比如我们做网站注册功能的开发时,需要用邮箱发送给用户一个随机字符串作为验证码,下面...
  • 本文实例为大家分享了java随机生成时间字符串的具体代码,供大家参考,具体内容如下package com.wechat.utils;import java.text.SimpleDateFormat;import java.util.Date;/*** Created by hexun on 2017/2/4.*/...
  • java生成随机字符串的两种方法

    千次阅读 2021-02-12 12:44:09
    本文实例为大家分享了java生成随机字符串的具体代码,供大家参考,具体内容如下import java.util.Random;public class CharacterUtils {//方法1:length为产生的位数public static String getRandomString(int ...
  • python-生成随机字符

    2021-02-11 06:07:59
    需求:随机生成6位的大写字母:方法一:#!/usr/bin/env python#-*- coding:utf-8 -*-importrandomli=[]for i in range(6):temp= random.randrange(65,91)c=chr(temp)li.append(c)result= "".join(li)print(result)...
  • 一个java随机生成6位数字字符数组实例,有需要了解的朋友可参考参考。 代码如下 复制代码 package com.system.oss.common.util;/*** 动态生成随机字符数组** @author 苏持恒*/public class ShortMessageCodeUntil{/*...
  • 最近有个需求需要生成一个20位的随机字符串,先在commons-lang3的包下3.6版本的RandomStringUtils的类已经被标注为Deprecated不能使用了//commons-lang3下3.6版本的/** @deprecated */@Deprecatedpublic class ...
  • 使用 random.sample指定字符生成随机字符串 listRandom = [0, 1, 2, 3, 4] str = random.sample(listRandom , 2) print(str ) str = random.sample(range(0, 9), 4) print(str) range(start, stop[, step]) 函数...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 316,296
精华内容 126,518
关键字:

随机生成字符