首页 > 编程语言 > 详细

Java 验证码: 常用API random,string,stringBuilder 练习

时间:2021-01-25 14:13:49      阅读:21      评论:0      收藏:0      [点我收藏+]

解题思路

1、功能需要定义方法实现,方法的返回值是什么?需要参数列表吗?

2、先将可选择的字符都放到一个StringBuilder对象中。

3、怎样随机获取其中的四个字符呢?如果能随机获取一个,再获取四次,就可以了。那么怎样随机获取一个呢?

字符串中的字符是有索引的,如果可以随机获取到一个索引,就相当于随机获取到了该索引上的字符。

具体步骤

1、定义方法,返回值是String,参数列表为空。

2、定义StringBuilder对象,将可选择的字符都放到StringBuilder对象中。

2.1、定义循环从a-z,使用StringBuilder的append方法依次添加所有小写字母

2.2、定义循环从A-Z,使用StringBuilder的append方法依次添加所有大写字母

2.3、定义循环从0-9,使用StringBuilder的append方法依次添加所有数字字符

3、创建Random对象。定义一个空字符串用于保存验证码。

4、定义一个执行4次的循环,用于获取4个字符。

4.1、在循环中,使用Random的nextInt方法,随机获取一个从索引0(包含)到字符串的长度(不包含)的索引。

4.2、使用StringBuilder的charAt方法,获取该索引上的字符,将其拼接到验证码字符串中。

5、返回结果,并在主方法中调用方法查看结果。

代码实现

import java.util.Random;

/*
验证码:    常用API random,string,stringBuilder   
 */
public class YanZhengMa {
    public static void main(String[] args) {
        //创建字符串对象,用来接受方法的返回值
        String code = getRandomCode();//()返回值
        //打印输出
        System.out.println("验证码:");
        System.out.println(code);
    }

    //创建getRandomCode方法用于产生随机验证码
    private static String getRandomCode() {
        //创建字符序列对象
        StringBuilder stringBuilder = new StringBuilder();
        //循环遍历
        for (char ch = ‘a‘; ch <= ‘z‘; ch++) {
            //产生小写字母字符
            stringBuilder.append(ch);
        }
        for (char ch = ‘A‘; ch <= ‘Z‘; ch++) {
            //产生大写字母字符
            stringBuilder.append(ch);
        }
        for (char ch = ‘0‘; ch <= ‘9‘; ch++) {
            //产生数字字符
            stringBuilder.append(ch);
        }
        //创建随机数对象
        Random random = new Random();
        //定义字符串对象,定义一个空字符串用于保存验证码
        String code = "";
        //循环遍历
        for (int i = 0; i < 4; i++) {
            //使用Random的nextInt方法,随机获取一个从索引0(包含)到字符串的长度(不包含)的索引。
            int index = random.nextInt(stringBuilder.length());
            //获取该索引上的字符,将其拼接到验证码字符串中。
            code = code + stringBuilder.charAt(index);
        }
        //返回值
        return code;
    }
}

 

Java 验证码: 常用API random,string,stringBuilder 练习

原文:https://www.cnblogs.com/521521cm/p/14324596.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!