随机验证码
2016-03-29 21:26
260 查看
案例介绍:模拟登录时需要输入验证码功能;
案例设计:
① 证码由4个字符组成;
② 验证码只能由数字和大写字母组成;
③ 每次输入的字符各不相同,不能重复;
案例设计:
① 证码由4个字符组成;
② 验证码只能由数字和大写字母组成;
③ 每次输入的字符各不相同,不能重复;
import java.util.Random; public class RandomGenDemo{ public static void main(String []args){ System.out.println("验证码如下:"+RandomGen.codeGen()); } } class RandomGen{ //生成4位不重复的验证码 public static String codeGen(){ char[] codeSequence={'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','0','1','2','3','4','5','6','7','8','9'}; Random random=new Random(); StringBuilder sb=new StringBuilder();//动态字符串 int count=0; while(true){ //随机产生一个下标,通过下标取出字符数组中对应的字符 char c= codeSequence[random.nextInt(codeSequence.length)]; //假设取出的字符在动态字符串中不存在,代表没有重复 if(sb.indexOf(c+"")==-1){ sb.append(c);//追加到动态字符串中 count++; if(count==4){ break; } } } return sb.toString(); } }
相关文章推荐
- Problem_1015
- 深入理解 Java 虚拟机-javac 编译与 JIT 编译
- QProcess与外部程序的调用
- shell教程一 :介绍
- 类和对象
- 设计模式:外观模式(Facade)
- 91. Decode Ways
- 360搜索实习生(自然语言处理/机器学习/数据挖掘工程师)在线笔试知识点总结
- tune performance
- 在Xcode中使用Git进行源码版本控制
- 设计模式:外观模式(Facade)
- ArrayList以及数组的转换的思考
- Ubuntu安装Torch
- 【9】Linux-设备驱动概述
- 机器学习实战之决策树
- Java 向Hbase表插入数据报(org.apache.hadoop.hbase.client.HTablePool$PooledHTable cannot be cast to org.apac)
- eclipse 条件断点
- YJX_Driver_012_为DDK_HelloWorld添加设备例程
- Linux学习之路:变量值的删除、替代和替换
- Bear and Polynomials 639 C