Java编写程序获取验证码
Java获取验证码
需求:
在登录注册页面中,除了用户名和密码外,通常也会包含验证码。验证码是用来区分用户是计算机还是人,防止恶意破解密码、刷票、灌水等行为。定义方法,获取一个包含4个字符的验证码,每一位字符是随机选择的字母和数字,可包含a-z,A-Z,0-9。
设计思路
查看Random、StringBuilder相关API,完成需求
代码实现1
package com.itheima.APITest.Test02;import java.util.Random;/*在登录注册页面中,除了用户名和密码外,通常也会包含验证码。验证码是用来区分用户是计算机还是人,防止恶意破解密码、刷票、灌水等行为。请查看Random、StringBuilder相关API,定义方法,获取一个包含4个字符的验证码,每一位字符是随机选择的字母和数字,可包含a-z,A-Z,0-9。例如:*/
public class Demo {public static void main(String[] args) {//调用验证码方法String s = getVerificationCode();//输出验证码序列System.out.println(s);}//无参数,有返回值String类型public static String getVerificationCode() {//创建Random对象//public Random()//创建一个新的随机数生成器。Random r = new Random();//创建StringBuilder对象//public StringBuilder()//构造一个没有字符的字符串构建器,初始容量为16个字符。StringBuilder sb = new StringBuilder();//public int length()//返回长度(字符数)。 while (sb.length() < 4) {//public int nextInt(int bound)//返回伪随机数,从0(包括)和指定值(排除)之间均匀分布的int值,从该随机数生成器的序列中抽取出来。int random = r.nextInt(123);//控制随机数的范围,char类型与int类型比较时,使用的时char类型的ascii码进行比较,总之还是int类型if ((random > 'A' && random < 'Z') || (random > 'a' && random < 'z') || (random > '0' && random < '9')) {//public StringBuilder append(char c)//将char参数的字符串表示附加到此序列。//用强制类型转换,将random的int值转成char类型sb.append((char) random);}}//public String toString()//返回表示此顺序中的数据的字符串。String s = sb.toString();//返回一个String类型return s;}
}
代码实现2
package com.itheima.APITest.Test02;import java.util.Random;public class Demo2 {public static void main(String[] args) {//调用获取验证码的方法String s = getVerificationCode();//输出验证码System.out.println(s);}//定义获取验证码的方法,返回值String类型,无参数public static String getVerificationCode() {//创建StringBuilder对象,用于存放所有能获取的字符StringBuilder sb = new StringBuilder();//创建String空字符串,存放获取到的字符串String s = "";//循环获取字符A-Z,拼接到StringBuilder对象中for (char c = 'A'; c < 'Z'; c++) {sb.append(c);}//循环获取字符a-z,拼接到StringBuilder对象for (char c = 'a'; c < 'z'; c++) {sb.append(c);}//循环获取数字0-9,拼接到StringBuilder对象for (int i = 0; i <= 9; i++) {sb.append(i);}//创建Random对象,用来获取随机数Random r = new Random();//循环四次,获取四个字符验证码for (int i = 0; i < 4; i++) {//随机获取StringBuilder对象的索引int index = r.nextInt(sb.length());//public char charAt(int index)//返回指定索引处的此序列中的char值。//将获取道德char值拼接到String对象中s += sb.charAt(index);}//返回字符串return s;}
}
效果
Java编写程序获取验证码相关推荐
- Java编写程序将数据存入Kafka中
Kafka是一个类似于RabbitMQ的消息系统,它的主要功能是消息的发布和订阅.处理和存储. 1.它类似于一个消息系统,读写流式的数据. 2.编写可扩展的流应用处理程序,用于实时事件响应的场景. 3 ...
- 采用JAVA编写程序实现从文件读取操作
采用JAVA编写程序实现从文件读取操作 代码: import java.io.BufferedReader; import java.io.BufferedWriter; import java.io ...
- Java 编写程序打印以下图形_怎么用java编写如下程序在屏幕上输出如下图形 * *** *** * 循环语句做(if语句)...
怎么用java编写如下程序在屏幕上输出如下图形 * *** ***** ******* ***** ... 4个答案 提问时间: 2011-12-16 22个赞 回答:这个图形对吧? * *** ...
- 编写程序获取 vector 容器的第一个元素。分别使用下标 操作符、front 函数以及 begin 函数实现该功能,并提 供空的 vector 容器测试你的程序
/*********************** 编写程序获取 vector 容器的第一个元素.分别使用下标 操作符.front 函数以及 begin 函数实现该功能,并提 供空的 vector 容器 ...
- byfen网java_用java编写程序根据考试成绩的等级打印出百分制分数段
用java编写程序,根据考试成绩的等级打印出百分制分数段:设A为90分以上,B为80分以上,C为70分以上,D为60分以上,E为59分以下.要求在程序中使用开关语句.上级运行其结果是否符合设计要求: ...
- java程序步骤_java编写程序的步骤是什么?java编写程序步骤实例讲解
写java编程就是一步一步的来,这样才会写好一个编程,之后也才能正常的运行,那么java编写程序的步骤是什么?今天我们就来给大家讲解一下这方面的内容.大家可以参考以下文章! 1.编写源文件 使用文本编 ...
- java编写程序实现键盘钢琴,运用键盘事件、鼠标事件
java编写程序实现键盘钢琴,运用键盘事件.鼠标事件 界面 实现 MouseListener,MouseMotionListener,KeyListener接口,当鼠标进入不同按钮时,会播放不 ...
- java编写程序实现求三角形、正方形和圆的面积
java编写程序实现求三角形.正方形和圆的面积,要求先设计一个公共的父类,在其中·定义求面积的方法,再继承得到各种形状 package practice3; abstract class shape{ ...
- Java 编写程序 创建一个游戏【5、6两章的内容】【第5章】
每次使用单边大脑的时间不要太久, 连续使用左边脑30 分钟如同使用左臂 30 分钟一样, 周期性性地交换让大脑两侧轮流休息. 左脑活动包括了循序渐进的工作,解决逻辑问题与分析: 右脑的活动包括了阴雨. ...
- java编写程序上机实验,《Java程序设计》上机实验
<<Java程序设计>上机实验>由会员分享,可在线阅读,更多相关<<Java程序设计>上机实验(19页珍藏版)>请在技术文库上搜索. 1.tor的安装及 ...
最新文章
- 设置elf文件链接库的路径
- 使用maven整合SSM框架详细步骤
- 99.99%安卓手机存在系统安全漏洞
- canvas实现的喜羊羊图像效果
- requestparam的作用_Spring MVC:请解释@RequestParam和@ModelAttribute之间的区别
- 银河麒麟4安装MySQL8_银河麒麟4.0.2安装教程-电脑系统安装手册
- 通用DbContext封装
- OpenResty Redis 安装部署测试SET GET功能
- 12.这就是搜索引擎:核心技术详解 --- 搜索引擎发展趋势
- 考上985能改变命运吗_南开研究生称读研改变命运被嘲讽,网友:本科垃圾,考上985也没用...
- 交通灯控制系统的设计
- 【C语言】乘法口诀表
- 浅谈 渗透测试工程师(黑客) 技能
- 这种技术能够替代 Android 原生开发?
- java多级继承_java代码继承------多层继承
- Detecting Novel Associations in Large Data Sets(检测 大型数据集中的信息关联性,数据相关性)
- linux中搭建git与链接github的用法
- 如何实现调用阿里云三方的api
- 利用动态二进制加密实现新型一句话木马之Java篇(转) 冰蝎
- SEO互帮团真诚奉献:一百多个站长论坛!
热门文章
- 你好,李焕英;再见,唐探3?
- proposal中文翻译_PROPOSAL 是什么意思_ PROPOSAL 的翻译_音标_读音_用法_例句_爱词霸在线词典...
- Sentinel-1 GRD数据处理及其在水体信息提取中的应用
- 盘点 4 个开源小游戏
- 【WPS单元格】汉字转拼音的方法
- 微信保存图片提示失败_微信保存图片失败怎么回事
- excel2007 设置点击单元格设置默认值
- 信息安全-网络安全风险评估技术原理与应用(二)
- 围棋大师阿里,产品经理腾讯
- 如何在PDF页面中插入图片?