首页 > 编程语言 >Java入门题-密保验证

Java入门题-密保验证

时间:2023-08-09 15:46:16浏览次数:43  
标签:Code Java 入门 int 密保 52 char nextInt CodeUnited

问题:设计一个密保验证,由4位随机字母组成,用户输入验证码验证,一共5次机会

重要:随机字母、随机组合、字母分大小写

代码:需要引入 import java.util.Random;   import java.util.Scanner;

 

int VF = 0; // 用于循环
while (VF < 5) { // 规定验证5次
Random r = new Random(); // 随机数用于生产随机字母
int code1 = r.nextInt(52); // 生成大写或小写字母
int code2 = r.nextInt(52);
int code3 = r.nextInt(52);
int code4 = r.nextInt(52);

char[] Code = new char[52]; // 生成抽选大小写字母的数组
for (int i = 0; i < 52; i++) {
if (i < 26) {
Code[i] = (char) ('a' + i);
} else {
Code[i] = (char) ('A' + i - 26);
}
}

char[] CodeUnited = new char[4]; // 二次生成随机序列
CodeUnited[0] = Code[code1];
CodeUnited[1] = Code[code2];
CodeUnited[2] = Code[code3];
CodeUnited[3] = Code[code4];

int CU1 = r.nextInt(4);
int CU2 = r.nextInt(4);
int CU3 = r.nextInt(4);
int CU4 = r.nextInt(4);

// 组合随机字母成验证码
String VFcode = " " + CodeUnited[CU1] + CodeUnited[CU2] + CodeUnited[CU3] + CodeUnited[CU4];
System.out.println("验证码为:" + VFcode + "\n 请输入验证码:");
Scanner UserPutIn = new Scanner(System.in);
String UPI = UserPutIn.next();

// 验证密码是否正确,一共5次机会
if (VFcode.equals(UPI)) {
VF = 0;
break;
} else {
VF++;
}
}

// 判断验证结果
if (VF != 0) {
System.out.println("验证失败");
}else {
System.out.println("验证成功");
}

标签:Code,Java,入门,int,密保,52,char,nextInt,CodeUnited
From: https://www.cnblogs.com/Lee597/p/17616996.html

相关文章

  • Java 9 新特性
    Java9新特性模块化系统Java9引入模块化系统的一个原因是为了让Java可以运行在内存有限的场景模块可以导出PublicAPI隐藏内部实现,模块可以依赖其它模块moduletech.ruanjiang.modules.car{requirestech.ruanjiang.modules.engines;exportstech.ruanjiang......
  • Java学习之进制之间的转换
    importjava.util.*;publicclassJinzhi{publicstaticvoidmain(String[]args){/***总结:*二进制转换八进制:每三位转换*二进制转换十六进制:每四位转换*十进制转二进制:除以2取余数,得到的余数进行倒叙展示......
  • excel wps宏编辑器,用JavaScript自定义函数设置单元格符合条件后,那一行都变色
        functionjudge(){varapp=Application;//WPS表格的应用程序对象varwb=app.ActiveWorkbook;//当前工作簿varsheet=wb.ActiveSheet;//当前工作表vardataRange=sheet.UsedRange;//使用的数据范围varnumRows=dataRange.Rows......
  • 【javascript】关于 AbortController
    相关概念:https://developer.mozilla.org/zh-CN/docs/Web/API/AbortController需求描述:后台返回10000条图片url,前端拿到后需要做成假分页,假设1页显示20张图,分成50页。部分逻辑:1for(leti=0;i<imgUrlList.length;i++){2letimage=newImage()3image.src=imgUrlLi......
  • java-vector-tile | 使用java生成Mapbox矢量图块规范的矢量图块
    https://github.com/ElectronicChartCentre/java-vector-tile/tree/master/src/main/java/no/ecc/vectortile使用java生成mapbox-gl可读的vectortile......
  • CefSharp (铬) javascript增加内存限制
    https://stackoverflow.com/questions/55099372 好了,伙计们,我已经想出了一个解决方案。当您将这些参数传递给chrome可执行文件以将javascript内存限制设置为16it时,chrome会将其设置为3.5it。--js-flags="--max_old_space_size=16384"复制似乎将内存大小设置为3.5GB以上......
  • windows下Sphinx + php 简易入门案例
    Sphinx3.5.1windows使用流程官网地址下载地址下载完成后会有这样一个目录,新建data和log目录存放数据和日志将etc目录的sphinx.conf.dist文件复制一份到bin目录下,将.dist删除以下是我的配置文件,可以根据下面的进行修改,如果有特别的需求可以看下面3.x的文档sourcedoc......
  • hibernate入门
    Hibernate是一个开源的ORM(对象关系映射)框架,它可以将Java对象与数据库表进行映射,从而实现面向对象的数据持久化。使用Hibernate,可以避免手动编写SQL语句,从而提高开发效率,并且可以轻松地切换不同的数据库。基础概念entity实体类是映射到数据库表中的Java类,它包含了与数......
  • Java Map初始化赋值 Map初始化和Map赋值
    JavaMap初始化赋值原文链接:https://www.python100.com/html/105098.html一、Map初始化Map是Java中的一种数据结构,用于存储键值对。初始化Map有两种主要方法。第一种方法使用put方法手动为Map添加键值对;第二种方法使用静态代码块初始化Map。1.put方法手动添加键值对put方法......
  • TimeId 基于时间戳的自增ID算法(Java版)
    常用的全局唯一ID算法1、UUID首先是大名鼎鼎的UUID,UUID是通用唯一识别码(UniversallyUniqueIdentifier)的缩写。UUID是一个128比特的数值,是基于当前时间、计数器(counter)和硬件标识(通常为无线网卡的MAC地址)等数据计算生成的。虽然UUID碰撞几率不为零,但它足够接近于零,可以忽......