java生成随机字符串
2016-06-14 14:20
441 查看
package com.suncco.wiley; 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(); } /** * 方法四 * 一段生成指定范围的随机整数代码 * example:生成3-8之间的随机整数,直接调用 getSpecifyNum(3,8) 即返回大于等于3且小于等于8的整数。 */ public static int getSpecifyNum(int min, int max) { Random random = new Random(); return random.nextInt(max) % (max - min + 1) + min; } public static void main(String[] args) { System.out.println(getAlphanumString(4)); System.out.println(getAlphanumString_(5)); System.out.println(_getAlphanumString(6)); System.out.println(getSpecifyNum(3,8)); } }
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树