package com.zhao.test;

import java.util.Random;

public class Test16 {
/*需求:
定义方法实现随机产生一个5位的验证码
验证码格式:
长度为5
前四位是大写字母或者小写字母
最后一位是数字*/ //方法:
//在以后如果我们要在一堆没有什么规律的数据中随机抽取
//可以先把这些数据放到数组当中
//再随机抽取一个索引
public static void main(String[] args) { //分析:
//1.创建一个数组,将26个大小写字母存入
char[] chars = new char[52];
for (int i = 0; i < chars.length; i++) {
//ASCII码表 数字97强转成char类型为字母a
//添加小写字母
if (i <= 25) {
chars[i] = (char) (97 + i);
}else{ //第27个数据索引为26
//添加大写字母 A---65
//此时i的初始值为26
chars[i]=(char)(65+i-26);
}
} //2.随机抽取4次
//随机抽取数组中的索引
//定义一个字符串变量,用于记录最终的结果
String result="";
Random random=new Random();
for (int i = 0; i <4 ; i++) {
int randomIndex=random.nextInt(chars.length);
// 利用随机索引获取对应的元素
// System.out.println(chars[randomIndex]);
result=result+chars[randomIndex];
}
//生成最后一位的随机数字0-9
int randomNumber=random.nextInt(10);
//拼接之前的四个字母
result=result+randomNumber;
System.out.println(result);
/*
//遍历
for (int i = 0; i < chars.length; i++) {
System.out.print(chars[i] + " ");
}
*/ }
}

Java基础——(综合练习)生成5位验证码的更多相关文章

  1. Java基础之随机生成数字和字母

    字母与数字的ASCII码 目 前计算机中用得最广泛的 字符集及其编码,是由美国国家标准局(ANSI)制定的ASCII码(American Standard Code for Information I ...

  2. Java通过UUID随机生成36位、32位唯一识别码(唯一字符串)

    import java.util.UUID; /** * 通过UUID随机生成36位.32位唯一识别码(唯一字符串) * @author [J.H] * */ public class Test { ...

  3. Java基础-一文搞懂位运算

    在日常的Java开发中,位运算使用的不多,使用的更多的是算数运算(+.-.*./.%).关系运算(<.>.<=.>=.==.!=)和逻辑运算(&&.||.!), ...

  4. time-based基于google key生成6位验证码(google authenticator)

    由于公司服务器启用了双因子认证,登录时需要再次输入谷歌身份验证器生成的验证码.而生成验证码是基于固定的算法的,以当前时间为基础,基于每个人的google key去生成一个6位的验证码.也就是说,只要是 ...

  5. Java基础语法(语法、位运算、JavaDoc等)

    一.注释.标识符.关键字 1.注释(comments) 平时我们编写代码,在代码量比较少的时候,我们还可以看懂自己编写的代码,但是当项目结构一旦复杂起来,我们就需要用到注释了! 注释并不会被程序执行, ...

  6. java基础---->使用Itext生成数据库文档

    这里简单的介绍一下使用Itext生成数据库表的文档.于是我们领教了世界是何等凶顽,同时又得知世界也可以变得温存和美好. 生成数据库的文档 一.maven项目需要引入的jar依赖 <depende ...

  7. Java基础之反射生成JDK动态代理

    在Java的java.lang.reflect包下提供了一个Proxy类和一个InvocationHandler接口.通过这个类和接口可以生成JDK动态代理类或动态代理对象. JDK动态代理例子: / ...

  8. Java基础 awt Graphics2D 生成矩形图片并向内写入字符串

        JDK :OpenJDK-11      OS :CentOS 7.6.1810      IDE :Eclipse 2019‑03 typesetting :Markdown   code ...

  9. Java基础 awt Graphics2D 生成矩形图片并向其中画一条直线

        JDK :OpenJDK-11      OS :CentOS 7.6.1810      IDE :Eclipse 2019‑03 typesetting :Markdown   code ...

  10. Java 通过Math.random() 生成6位随机数

    public static void main(String[] args) { String sjs=""; for (int i = 0; i < 6; i++) { i ...

随机推荐

  1. element ui tabs 标签页支持展开收起修改

    <template> <div class="com-resource-legend" style=""> <el-tabs ty ...

  2. js 防抖

    // 防抖 作用:防止重复触发事件 var count = 1; var container = document.getElementById('container'); function getU ...

  3. Mysql之迂回连接术

    转载请注明来源:https://www.cnblogs.com/Sherlock-L/p/14932870.html 关键词:OmniDB.Mysql Router 背景:项目的测试数据库放在了生产机 ...

  4. sql执行多条语句

    问题背景: 今天想在xml里面写一个sql,执行批量修改, update question_rules set score=${rule.score}, data_describe=#{rule.da ...

  5. 负载均衡集群ipvsadm常见参数以及基本用法

    ---- 固定调度 rr:论调 wrr:加权论调 weight,加权 sh:source hash ,源地址hash 动态调度lc:最少链接 active*256+inactivewlc:加权最少链接 ...

  6. 莫烦Python 4

    莫烦Python 4 新建模板小书匠 RNN Classifier 循环神经网络 问题描述 使用RNN对MNIST里面的图片进行分类 关键 SimpleRNN()参数 batch_input_shap ...

  7. php json_encode 斜杠 反斜杠 转义处理

    $data = str_replace("\\\\n", "\\n", \jsonEncode($data)); // \\n转为\n $data = str_ ...

  8. twenty-three

    Vue(用于构建用户界面的前端框架) Vue框架的特性,主要有 ① 数据驱动试图 ②双向数据绑定 js数据的变化,会被自动渲染到页面上 页面上表单采集的数据发生变化的时候,会被vue自动获取到,并更新 ...

  9. color-color diagram data

  10. [JavaScript]实例化对象

    使用语法结构创建的对象 function Duck(name) { var obj = { name: name, say: function (content) { console.log(cont ...