import java.util.Random;
/**
* 随机数
* @author YXP
* 2012-9-29 上午10:38:06
*/
public class RandomTest {
/**
* 方法1:生成随机数字和字母组合
* @param length
* @return
*/
public static String getCharAndNumr(int length) {
Random random = new Random();
StringBuffer valSb = new StringBuffer();
String charStr = "0123456789abcdefghijklmnopqrstuvwxyz";
int charLength = charStr.length();
for (int i = 0; i < length; i++) {
int index = random.nextInt(charLength);
valSb.append(charStr.charAt(index));
}
return valSb.toString();
}
/**
* 方法2:生成随机数字和字母组合
* @param length
* @return
*/
public static String getCharAndNumr2(int length) {
StringBuffer valSb = 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; // 取得大写字母还是小写字母
valSb.append((char) (choice + random.nextInt(26)));
} else if ("num".equalsIgnoreCase(charOrNum)) {
// 数字
valSb.append(String.valueOf(random.nextInt(10)));
}
}
return valSb.toString();
}
/**
* 方法3:生成随机数字和字母组合
* @param length
* @return
*/
public static String getCharAndNumr3(int length) {
StringBuffer valSb = 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; // 取得大写字母还是小写字母
valSb.append((char) (choice + Math.round(Math.random()*25)));
} else if ("num".equalsIgnoreCase(charOrNum)) {
// 数字
valSb.append(String.valueOf(Math.round(Math.random()*9)));
}
}
return valSb.toString();
}
public static void main(String[] args) {
System.out.println(getCharAndNumr(5));
System.out.println(getCharAndNumr2(5));
System.out.println(getCharAndNumr3(5));
System.out.println(Math.round(0.01));
System.out.println(Math.ceil(0.01));
System.out.println(Math.floor(0.91));
}
}
分享到:
相关推荐
用java编写的四位随机的验证码,包括数字跟字母 简单易懂
随机生成10位随机排列 的字符串,包含字母和数字的随机排列
数字和字母(大写、小写)、混合特殊字符等多种组合,自定义输出的长度和批量生成数量可任意组合需要的字符进行随机密码字符生成,可以作为随机密码密钥生成器用于项目测试使用,也可以自行决定使用用途
java产生由数字字母组成的随机字符
随机验证码。 - 随机生成十组六位字符组成的验证码。 - 验证码由大小写字母、数字字符组成。
主要介绍了java生成字母数字组合的随机数的示例,大家参考使用吧
使用SpringBoot搭建,jdk1.8,layui前端框架。验证码图片文字随机生成,可以选择中文、字母、数字、字母数字的组合。可以根据自己的需要进行修改。
这是自动生成不重复主键的代码包,直接导包进入程序即可使用,帮助生成由字母数字组成的16位id号,可以用于数据库主键存储(使用数据库自增主键始终有问题,不适合大型程序的使用),该代码包运用于很多大型企业级...
在JSP页面中产生随机验证码的小例子 在JSP页面中产生随机验证码的小例子
为方便生成随机字符串的小工具。可生成纯数字、纯字母、纯特殊符号及三种类型的任意组合而成的任意长度字符串。可用来产生密码等。
java 生成随机图片验证码 ,字母数组随机组合,加干扰线
生成随机不重复的数字编号在某些情况下也会用到,本文以生成8位随机不重复的数字编号为例与大家分享下具体的实现过程,感兴趣的朋友可以参考下
V1.0 2014.11.4更新 可以生成纯字母和数字的随机文本,可以控制输入的列数, 内含有34万行的英文单词数据。 V1.1 2014.11.12更新 可以生成数字字母的组合文本,并且控制输出的数据列数 V1.2 2014.11.15更新 可以生成...
lowToUpper.java 小写字母转换成大写字母 lozengeStar.java 输出一个由*组成的菱形 multiplyTable.java 求乘法口诀表 narrowingConversion_1.java 缩减转换引发错误示例1 narrowingConversion_2.java 缩减转换...
内容概要: 这段代码是一个Java小工具,名为 "PasswordGenerator",用于生成强密码,包含大写字母、小写字母、数字和特殊字符。 适用人群: 适用于任何需要创建安全密码的个人用户和组织,特别是在账户注册、密码重置...
自己写的密码生成工具类,规则是特殊字符、大写字母、小写字母、数组,根据需要配置组合复杂度,随机生成密码
本书是第II卷,以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用Java进行桌面程序开发各个方面的知识和技巧,主要包括Java语法与面向对象技术、Java高级应用、窗体与控件应用、文件操作...