出处:

http://blog.csdn.net/a578133380/article/details/50379718

今天碰到这样一个案例,就是对个人信息修改做自动化测试,我这里以修改昵称为例,这里昵称的限制为5位字母数字组合的字符串,为了每次执行脚本能对昵称设置不同的名称,我选择随机生成5位的字符串,这样就可以保证每次执行脚本修改昵称名字互不冲突的目的,网上搜了下相关资料并做了下总结。
准备:大家需要熟悉java中的Random类,以及Math类中的常用方法使用,另外需要对ascii码表有一定认识,当然以下代码直接COPY下就能使用。
以下是实现生成随机字母组合的三种方法,其中第二、三种方法类似,只是选择了不同的API来实现(Random与Math)
package com.shareku.ray;
import java.util.Random;
public class GenerateAlphanum {
/**
 * 方法一
 *生成指定长度的字母数字组合字符串 
 */
public static String getAlphanumString(int length) {
Random random = new Random();
StringBuffer buf = new StringBuffer();
String charStr = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
int charLength = charStr.length();
for (int i = 0; i < length; i++) {
int index = random.nextInt(charLength);
buf.append(charStr.charAt(index));
}
return buf.toString();
}
/**
 * 方法二
 *生成指定长度的字母数字组合字符串 
 */
public static String getAlphanumString_(int length) {
StringBuffer buf = new StringBuffer();
Random random = new Random();
for (int i = 0; i < length; i++) {
String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num"; // 输出字母还是数字
if ("char".equalsIgnoreCase(charOrNum)) {
// 字符串
int choice = random.nextInt(2) % 2 == 0 ? 65 : 97; // 取得大写字母还是小写字母
buf.append((char) (choice + random.nextInt(26)));
} else if ("num".equalsIgnoreCase(charOrNum)) {
// 数字
buf.append(String.valueOf(random.nextInt(10)));
}
}
return buf.toString();
}
/**
 * 方法三
 *生成指定长度的字母数字组合字符串 
 */
public static String _getAlphanumString(int length) {
StringBuffer buf = new StringBuffer();
for (int i = 0; i < length; i++) {
// 输出字母还是数字
String charOrNum = Math.round(Math.random()) % 2 == 0 ? "char"
: "num";
if ("char".equalsIgnoreCase(charOrNum)) {
// 字符串
int choice = Math.round(Math.random()) % 2 == 0 ? 65 : 97; // 取得大写字母还是小写字母
buf.append((char) (choice + Math.round(Math.random() * 25)));
} else if ("num".equalsIgnoreCase(charOrNum)) {
// 数字
buf.append(String.valueOf(Math.round(Math.random() * 9)));
}
}
return buf.toString();
}
}
另外,附加一段生成指定范围的随机整数代码,也很实用哦!
public int getSpecifyNum(int min, int max) {
Random random = new Random();
return random.nextInt(max) % (max - min + 1) + min;
}
example:生成3-8之间的随机整数,直接调用 getSpecifyNum(3,8) 即返回大于等于3且小于等于8的整数。
OK,Stop here!

生成随机数字字母组合参数相关推荐

  1. Java生成随机数字和字母组合10位数

    /**               * java生成随机数字和字母组合10位数               * @param length[生成随机数的长度]               * @ret ...

  2. mysql生成随机验证码_MySQL 生成随机数字、字符串、日期、验证码及 UUID的方法...

    上一篇介绍了如何在 Oracle 生成随机数字.字符串.日期.验证码以及 UUID,今天我们继续讨论在 MySQL 中生成各种随机数据的方法.

  3. Linux生成随机数字和字符串

    生成随机数字 使用系统的$RANDOM变量 > echo $RANDOM 14587 使用date +%s%N > date +%s%N 1529584024896587259 使用/de ...

  4. java生成随机数字和字母

    /**      * Purpose:生成随机数字和字母      * @author Hermanwang      * @param length:返回字符串的长度      * @return ...

  5. MySQL 生成随机数字、字符串、日期、验证码以及 UUID

    文章目录 生成随机数字 生成 0 到 1 之间的随机数 生成指定范围内的随机数 生成 6 位数字手机验证码 生成遵循正态分布的随机数 生成随机字符串 生成固定长度的随机字符串 生成可变长度的随机字符串 ...

  6. php 包含字母随机数_php生成随机数字、字母或数字字母混合的字符串

    这次给大家带来php生成随机数字.字母或数字字母混合的字符串,php生成随机数字.字母或数字字母混合字符串的注意事项有哪些,下面就是实战案例,一起来看一下. php 生成随机字符串,可以指定是纯数字 ...

  7. MySQL中如何随机产生验证码,MySQL 生成随机数字 UUID MySQL 生成随机数字、字符串、日期、验证码及 UUID的方法...

    想了解MySQL 生成随机数字.字符串.日期.验证码及 UUID的方法的相关内容吗,不剪发的Tony老师在本文为您仔细讲解MySQL 生成随机数字 UUID的相关知识和一些Code实例,欢迎阅读和指正 ...

  8. mysql中随机16位数字_MySQL 生成随机数字、字符串、日期、验证码及 UUID的方法

    上一篇介绍了如何在 Oracle 生成随机数字.字符串.日期.验证码以及 UUID,今天我们继续讨论在 MySQL 中生成各种随机数据的方法.

  9. 【Excel】生成随机数字/字符

    文章目录 常用函数 生成一个随机小写字母 生成一个随机大写字母 生成一个随机数字 生成随机一个数字或大小写字母 生成一个任意汉字 生成随机手机号 生成随机人名 常用函数 函数 说明 RAND() 生成 ...

  10. Oracle生成随机数字、字符串、日期、验证码及 UUID的方法

    在日常生活中,随机数对于我们而言并不陌生,例如手机短信验证码就是一个随机的数字字符串:对于统计分析.机器学习等领域而言,通常也需要生成大量的随机数据用于测试.数据抽样.算法验证等.那么今天我们就来谈谈 ...

最新文章

  1. Spring Cloud + Mybatis配置类设置
  2. scapy 安装及简单测试
  3. sql2000导出mysql_如何将sql2000的数据库导入到mysql中?
  4. Java笔记-Java中备忘录模式
  5. phpstorm如何同时打开两个文件夹_iPhone如何同时添加两个不同的面容ID?
  6. spring所需包下载
  7. 微信小程序this和that
  8. HR经常会用到的面试问题
  9. mysql数据库wait_timeout_mysql设置wait_timeout详解
  10. 串口屏和并口屏的区别?
  11. 十张思维导图掌握javascript重点
  12. CentOS7或7以上,无iptable解决方法
  13. 三维装箱算法matlab,三维装箱遗传算法matlab程序
  14. R语言数据导出(数据保存、导出、持久化到本地指定目录文件)、使用xlsx包的write.xlsx函数将dataframe导出为excel文件xls格式、而非xlsx格式
  15. win11彻底卸载微软bing输入法,包括删除输入法状态栏图标
  16. 1.4418不锈钢规范及使用环境详解
  17. Dell OptiPlex台式机安装ESXI 6.7
  18. java编程实现;猜单词游戏
  19. AI-大型软件研发效能倍增的银弹
  20. 【Pygamex小游戏】抗疫情,居家乐——在家无聊来玩儿像素鸟闯关大冒险吧,猜猜你能闯到多少关?

热门文章

  1. 为什么html中使用不了样式,css不起作用是什么原因?
  2. [转]ubuntu常用软件
  3. 蛋糕甜品小程序有哪些,这3款小程序值得收藏!
  4. 2022年全球市场聚苯硫醚纤维总体规模、主要生产商、主要地区、产品和应用细分研究报告
  5. xxl-job集群原理
  6. 编写算法将数字编号“翻译”成英文编号(C语言)
  7. android icon psd,60个PSD格式的ICON和按钮模板
  8. 关于timer产生的pwm寄存器arr,ccr,psc分析
  9. Julia数据可视化:Plots.jl包的使用
  10. 港股通接口获取香港交易所上市股票的基本信息