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编写的四位随机的验证码,包括数字跟字母 简单易懂
本篇文章将详细解析如何通过Java语言实现一个功能,即随机生成包含字母和数字的10位随机字符串。 #### 核心需求分析 根据题目描述,我们需要实现的功能是生成一个由字母和数字组成的10位随机字符串。这里的字母只...
数字和字母(大写、小写)、混合特殊字符等多种组合,自定义输出的长度和批量生成数量可任意组合需要的字符进行随机密码字符生成,可以作为随机密码密钥生成器用于项目测试使用,也可以自行决定使用用途
java产生由数字字母组成的随机字符
随机验证码。 - 随机生成十组六位字符组成的验证码。 - 验证码由大小写字母、数字字符组成。
标题提到的"Java生成含字母和数字的6位随机字符串",就是指通过编程方式创建一个长度为6的字符串,其中包含大小写字母和数字的组合。下面我们将深入探讨如何实现这个功能。 首先,我们需要了解Java中生成随机数的...
在上面的代码中,我们使用了 Random 类来生成随机的高位字节和低位字节,然后将其组合成一个汉字。我们使用了GBK编码来表示汉字,因为GBK编码是中国大陆最常用的汉字编码。 结论 ---- Java代码实现随机生成汉字的...
总的来说,这个示例提供了一个灵活的方法来生成包含字母和数字的随机字符串,可以根据需求调整长度和字母大小写的比例。需要注意的是,这种方法生成的随机数并不保证完全的随机性和安全性,如果需要更安全的随机数...
验证码是网络应用中常见的一种安全机制,用于防止自动...总的来说,Java生成随机验证码的过程涵盖了随机数生成、字符串处理、图像处理等多个编程领域。通过合理的设计和实现,可以创建出既安全又用户友好的验证码系统。
这些昵称可能包含了常见的英文单词、短语,或者是混合字母和数字的创意组合,如“LuckyDog”、“ShadowHunter”、“XtremeGamer123”等。这样的设计使得英文玩家也能在游戏中找到适合自己风格的昵称,表达他们的个性...
7. **代码示例**:在Python中,可以这样生成一个包含数字和字母的随机字符串: ```python import random import string def generate_random_string(length): return ''.join(random.choices(string.ascii_...
6. `LETTER_NUMBER`:包含小写字母和数字。 7. `LETTER_CAPITAL_NUMBER_SIGN`:包含小写字母、大写字母、数字和特殊符号。 `getRandom`方法是核心功能,它接受两个参数:一个表示字符串长度的整数`num`和一个表示所...
### Java随机生成字符串知识点解析 #### 一、概述 在软件开发过程中,有时我们需要生成随机字符串来满足不同的需求,比如生成验证码、密码等。本文档介绍了一种利用Java实现随机字符串生成的方法。此方法提供了...
JAVA编程实现随机生成指定长度的密码功能【大小写和数字组合】 本文将详细介绍JAVA编程实现随机生成指定长度的密码功能,生成带有大小写和数字组合的随机字符串。我们将通过一个示例程序,来展示如何使用JAVA语言来...
总的来说,Java生成验证码是一个结合了数学随机性、图像处理和安全性考量的过程。通过学习和使用`kaptcha`或其他验证码生成库,开发者能够快速地在自己的项目中实现这一功能。同时,理解和实现验证码的生成也能加深...
验证码(CAPTCHA)是一种用于验证用户是否为人类的自动化测试技术。...以上就是使用Java生成验证码的基本流程和关键知识点。通过调整各种参数和细节,可以根据实际需求定制出更复杂、更难被机器识别的验证码系统。
验证码通常包含一组随机生成的字符,这些字符可以是中文、字母、数字或它们的组合。在Java中,可以使用`java.util.Random`类来生成随机数,然后通过字符集映射将这些数字转化为对应的字符。例如,如果要生成数字...
all_chars = string.ascii_letters + string.digits # 获取所有小写字母、大写字母和数字 if length raise ValueError("字符串长度至少为1") return ''.join(random.choice(all_chars) for _ in range(length))...
可以利用Java的`Random`类和`Character`类来生成指定长度的随机字符串,其中包含数字和大小写字母。 2. **字符串运算**:为了增加验证码的复杂性,我们可以对字符串进行加、减、乘的运算。例如,取两个随机子串,...
"JSP数字+字母验证码"是指使用Java Server Pages(JSP)技术实现的一种验证码,它通常包含随机生成的数字和字母组合,以增加破解的难度。下面将详细介绍JSP验证码的实现原理、步骤以及相关的知识点。 **验证码的...