java随机生成字符串(字符随机生成类 生成随机字符组合)_java

复制代码 代码如下:

package com.phyl.password;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Random;
/**
 * 字符随机生成类
 * @author ASUS
 *
 */
public class PassWord {

 /**
  * 密码类型枚举
  * @author ASUS
  */
 public static enum TYPE {
  /**
   * 字符型
   */
  LETTER,
  /**
   * 大写字符型
   */
  CAPITAL,
  /**
   * 数字型
   */
  NUMBER,
  /**
   * 符号型
   */
  SIGN,
  /**
   * 大+小字符 型
   */
  LETTER_CAPITAL,
  /**
   * 小字符+数字 型
   */
  LETTER_NUMBER,
  /**
   * 大+小字符+数字 型
   */
  LETTER_CAPITAL_NUMBER,
  /**
   * 大+小字符+数字+符号 型
   */
  LETTER_CAPITAL_NUMBER_SIGN
 }

 private static String[] lowercase = {
   "a","b","c","d","e","f","g","h","i","j","k",
   "l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"};

 private static String[] capital = {
   "A","B","C","D","E","F","G","H","I","J","K",
   "L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"}; 

 private static String[] number = {
   "1","2","3","4","5","6","7","8","9","0"};

 private static String[] sign = {
   "~","!","@","#","$","%","^","&","*","(",")","_","+","`","-","=",
   "{","}","|",":","\"","<",">","?",
   "[","]","\\",";","'",",",".","/"};

 /**
  * 静态随机数
  */
 private static Random random = new Random();

 public static void main(String[] args) {
  System.out.println(PassWord.getRandom(24, PassWord.TYPE.CAPITAL));
 }

 /**
  * 获取随机组合码
  * @param num 位数
  * @param type 类型
  * @type
  * <br>字符型 LETTER,
  * <br>大写字符型 CAPITAL,
  * <br>数字型 NUMBER,
  * <br>符号型 SIGN,
  * <br>大+小字符型 LETTER_CAPITAL,
  * <br>小字符+数字 型 LETTER_NUMBER,
  * <br>大+小字符+数字 型 LETTER_CAPITAL_NUMBER,
  * <br>大+小字符+数字+符号 型 LETTER_CAPITAL_NUMBER_SIGN
  */
 public static String getRandom(int num,TYPE type){
  ArrayList<String> temp = new ArrayList<String>();
  StringBuffer code = new StringBuffer();
  if(type == TYPE.LETTER){
   temp.addAll(Arrays.asList(lowercase));
  }else if(type == TYPE.CAPITAL){
   temp.addAll(Arrays.asList(capital));
  }else if(type == TYPE.NUMBER){
   temp.addAll(Arrays.asList(number));
  }else if(type == TYPE.SIGN){
   temp.addAll(Arrays.asList(sign));
  }else if(type == TYPE.LETTER_CAPITAL){
   temp.addAll(Arrays.asList(lowercase));
   temp.addAll(Arrays.asList(capital));
  }else if(type == TYPE.LETTER_NUMBER){
   temp.addAll(Arrays.asList(lowercase));
   temp.addAll(Arrays.asList(number));
  }else if(type == TYPE.LETTER_CAPITAL_NUMBER){
   temp.addAll(Arrays.asList(lowercase));
   temp.addAll(Arrays.asList(capital));
   temp.addAll(Arrays.asList(number));
  }else if(type == TYPE.LETTER_CAPITAL_NUMBER_SIGN){
   temp.addAll(Arrays.asList(lowercase));
   temp.addAll(Arrays.asList(capital));
   temp.addAll(Arrays.asList(number));
   temp.addAll(Arrays.asList(sign));
  }
  for (int i = 0; i < num; i++) {
   code.append(temp.get(random.nextInt(temp.size())));
  }
  return code.toString();
 }

}

时间: 2025-01-24 19:26:29

java随机生成字符串(字符随机生成类 生成随机字符组合)_java的相关文章

java中取字符串的第一个和最后一个字符

java中,我们可以使用charAt()方法获取字符串的第一个和最后一个字符.该方法接收已给int型作为参数. java.lang.String类中并定义这个方法,而是在java.lang.CharSequence接口中定义,因此,StringBuffer和StringBuilder类也可以使用这个方法. 代码实例: public class Solution {   public static void main(String args[]) {   // You can use the ch

生成随机字符串和验证码的类的PHP实例

 这篇文章主要介绍了生成随机字符串和验证码的类的PHP实例,有需要的朋友可以参考一下 网上有很多的php随机数与验证码的代码与文章,真正适用的没有几个.   索性自己搞一个吧.   开始本节的php教程 吧,以下代码的实现,主要做到可以很好区分一个get_code(),另一个create_check_image(),输出图像直接调用后面的,session()取验证码时直接get_code()就ok,顺带提下使用session时必须将session_star()放在最前面.   代码如下:   代

java 怎么随机生成字符串显示在jsp页面上

问题描述 java 怎么随机生成字符串显示在jsp页面上 如上我要点击一个按钮生成一个随机的用户, 用户账号是一个随机的字符串,我还需要获得产生随机的次数,来统计 解决方案 1.直接用random生成数字,然后把数字拼接 2.创建字符数组,然后random出数字,获取对应数字下标的字符,再拼接 解决方案二: 一种是楼上说的方法,另一种就是你要记录次数,用数据库来生成 解决方案三: 用UUID生成,存进数据库,在数据库中统计次数 解决方案四: 你字符串要什么格式的(汉字,英文大小写,数字,特殊符号

php随机生成字符串一些方法总结

mt_rand函数 例子 在本例中,我们会返回一些随机数:  代码如下 复制代码 <?php echo(mt_rand()); echo(mt_rand()); echo(mt_rand(10,100)); ?> 输出类似: 3150906288 513289678 35 下面我们来看看mt_rand函数的实例吧.  代码如下 复制代码 function roll () { return mt_rand(1,6); } echo roll(); function roll ($sides) {

java-随机从2个字符串里选1个,随机生成一个1-99的int,怎么搞

问题描述 随机从2个字符串里选1个,随机生成一个1-99的int,怎么搞 我想写一个for循环插入10万条数据,其中性别想随机插入Male或者Female.age随机生成1-99的int数值.怎么搞? 解决方案 参考下面的代码吧. public static void main(String[] args) { String[] sex = { ""Male""Famale"" }; int age = 0; int sexIndex = 0;

php随机生成字符串程序方法总结

随机生成数数字 mt_rand()函数  代码如下 复制代码 $num = mt_rand(0,9999999); 但如果我想随机生成字符串怎么操作,网站找到一个方法.  代码如下 复制代码 function random($length) {      srand(date("s"));      $possible_charactors = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";      $string = "

string-随机生成字符串的方法 求解释

问题描述 随机生成字符串的方法 求解释 //产生长度为length的随机字符串 char* genRandomString(int length) { int flag i; char* string; srand((unsigned) time(NULL )); if ((string = (char*) myMalloc(length)) == NULL ) { myLog(""Malloc failed!flag:14 ""); return NULL ; }

php 随便生成字符串函数shuffles()

定义和用法 该str_shuffle ( )函数随机shuffles的所有字符的字符串. 语法 str_shuffle(string) Parameter Description string 字符串必需.指定字符串洗牌 下面我们来看看str_shuffle 函数的教程吧. <?php echo str_shuffle("Hello World"); ?>   输出结果.   H leooWlrld 以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也

谈表达式树的缓存(2):由表达式树生成字符串

谈到使用表达式树作为key进行缓存,您脑海中最早浮现出来的解决方案是什么?老赵看来,大部分朋 友的第一反应自然就是将作为key的表达式树,使用一定规则生成一个字符串.简而言之,这个生成字符 串的规则F需要能够保证: 在同一个缓存空间内,同样的表达式树能够生成相同的字符串. 在同一个缓存空间内,不同的表达式树生成不同的字符串. 似乎有些罗嗦,朋友们明白便是.其中"在同一个缓存空间"的前提,其实只是放宽了后续要求的条 件.因为在不同的缓存空间内,即使不同的表达式树生成了同样的字符串,它们也