随机生成几位数字字母组合
来源:互联网 发布:选择公理 知乎 编辑:程序博客网 时间:2024/05/21 09:16
import java.util.Random;
public class StringUtil {
private static final int Num_WORD = 1;//数字
private static final int STR_WORD = 2;//字母
private static final int STR_NUM_WORD = 3;//字母数字
private static final int MIX_WORD = 4;//字母数字符号
/**
* 获取随机字符串
* @param style 输出格式 1纯数字,2纯字符串,3字符数字组合,4字符数字符号组合。
* @param length 输出长度
* */
}
//纯数字
private static String getNumRandom(int length) {
int[] array = new int[length];
StringBuilder str = new StringBuilder();
for (int i = 0; i < length; i++) {
array[i] = (int) (Math.random() * 10);
str.append(array[i]);
}
return str.toString();
}
//纯字母
private static String getStrRandom(int length) {
int[] array = new int[length];
char[] chars = new char[length];
StringBuilder str = new StringBuilder();
for (int i = 0; i < length; i++) {
while (true) {
array[i] = (int) (Math.random() * 1000);
if ((array[i] > 64 && array[i] < 91)
|| (array[i] > 96 && array[i] < 123))
break;
}
chars[i] = (char) array[i];
str.append(chars[i]);
}
return str.toString();
}
//字母数字组合
public static String getStrNumRandom(Integer length) {
StringBuilder str = new StringBuilder();
Random random = new Random();
for (int i = 0; i < length; i++) {
boolean b = random.nextBoolean();
if (b) { // 字符串
int choice = random.nextBoolean() ? 65 : 97; //取得65大写字母还是97小写字母
str.append((char) (choice + random.nextInt(26)));// 取得大写字母
} else { // 数字
str.append(random.nextInt(10));
}
}
return str.toString();
}
//字母数字符号组合
private static String getMixRandom(int length) {
int[] array = new int[length];
char[] chars = new char[length];
StringBuilder str = new StringBuilder();
for (int i = 0; i < length; i++) {
while (true) {
array[i] = (int) (Math.random() * 1000);
if (array[i] > 47 && array[i] < 91 || (array[i] > 96 && array[i] < 123))
break;
}
chars[i] = (char) array[i];
str.append(chars[i]);
}
return str.toString();
}
public static void main(String[] args) {
System.out.println(StringUtil.getRandomStr(4, 10));
}
}
public class StringUtil {
private static final int Num_WORD = 1;//数字
private static final int STR_WORD = 2;//字母
private static final int STR_NUM_WORD = 3;//字母数字
private static final int MIX_WORD = 4;//字母数字符号
/**
* 获取随机字符串
* @param style 输出格式 1纯数字,2纯字符串,3字符数字组合,4字符数字符号组合。
* @param length 输出长度
* */
public static String getRandomStr(int style, int length) {
if (style == Num_WORD) {
return getNumRandom(length);
} else if (style == STR_WORD) {
return getStrRandom(length);
} else if (style == STR_NUM_WORD) {
return getStrNumRandom(length);
}else if (style == MIX_WORD) {
return getMixRandom(length);
}else{
return getMixRandom(length);
}
}
//纯数字
private static String getNumRandom(int length) {
int[] array = new int[length];
StringBuilder str = new StringBuilder();
for (int i = 0; i < length; i++) {
array[i] = (int) (Math.random() * 10);
str.append(array[i]);
}
return str.toString();
}
//纯字母
private static String getStrRandom(int length) {
int[] array = new int[length];
char[] chars = new char[length];
StringBuilder str = new StringBuilder();
for (int i = 0; i < length; i++) {
while (true) {
array[i] = (int) (Math.random() * 1000);
if ((array[i] > 64 && array[i] < 91)
|| (array[i] > 96 && array[i] < 123))
break;
}
chars[i] = (char) array[i];
str.append(chars[i]);
}
return str.toString();
}
//字母数字组合
public static String getStrNumRandom(Integer length) {
StringBuilder str = new StringBuilder();
Random random = new Random();
for (int i = 0; i < length; i++) {
boolean b = random.nextBoolean();
if (b) { // 字符串
int choice = random.nextBoolean() ? 65 : 97; //取得65大写字母还是97小写字母
str.append((char) (choice + random.nextInt(26)));// 取得大写字母
} else { // 数字
str.append(random.nextInt(10));
}
}
return str.toString();
}
//字母数字符号组合
private static String getMixRandom(int length) {
int[] array = new int[length];
char[] chars = new char[length];
StringBuilder str = new StringBuilder();
for (int i = 0; i < length; i++) {
while (true) {
array[i] = (int) (Math.random() * 1000);
if (array[i] > 47 && array[i] < 91 || (array[i] > 96 && array[i] < 123))
break;
}
chars[i] = (char) array[i];
str.append(chars[i]);
}
return str.toString();
}
public static void main(String[] args) {
System.out.println(StringUtil.getRandomStr(4, 10));
}
}
1 0
- 随机生成几位数字字母组合
- Random随机生成几位数字和UUID随机生成几位字母加数字组合
- 生成6位随机数字字母组合
- C#生成8位字母数字组合随机的字符串
- java生成随机数字和字母组合
- java生成随机数字和字母组合
- java生成随机数字和字母组合
- java生成随机数字和字母组合
- java生成随机数字和字母组合
- java生成随机数字和字母组合
- php 随机生成数字字母组合
- 随机生成字母数字的组合
- php 随机生成数字字母组合
- 生成随机数字字母组合参数
- 随机生成N位数字/字母密码
- sql 生成8位字母数字组合不重复随机码
- 随机生成6位验证码或密码(字母和数字组合)
- 随机产生任意位的字母数字组合
- linux内存管理浅析
- mysql慢查询优化步骤slow_query
- Android Zxing实现生成二维码功能
- Divide by Six
- Linux 下 ~ 与 / 的含义
- 随机生成几位数字字母组合
- 集合相等
- 如何防止SQL注入
- POJ2398 Toy Storage 判断点和线的关系+二分+计数
- (8)适配器模式
- 同步异步,阻塞非阻塞
- 使用 QJsonDocument 处理 JSON
- linux-shell---if条件语句中:-a到-z的参数定义
- js实现点击跳转到指定位置的方法