使用类型转换生成六位验证字符,实现用户输入验证码的功能

1. 程序设计思想

   先用Math.random()函数产生0~1之间的随机数,然后用int intVal = (int)(Math.random() * 26 + 97)使数的范围扩大到97~122,这样就包括了从a~z所有的字母了,用6次循环输出6个字母,然后将其转化为字母,用result存储,输出result,再要求用户输入验证码,如果输入的验证码正确,则输出"验证码正确"否则输出"验证码错误,请重新输入"

2. 程序流程图   

 

3.源代码

package demo;

import java.util.Scanner;

public class RandomStr

{

public static void main(String[] args)

{

//定义一个空字符串

String result = "";

//进行6次循环

for(int i = 0 ; i < 6 ; i ++)

{

//生成一个97~122的int型的整数

int intVal = (int)(Math.random() * 26 + 97);

//将intValue强制转换为char后连接到result后面

result = result + (char)intVal;

}

System.out.println(result);

System.out.println("请输入验证码:");

Scanner scan=new Scanner(System.in);

 String shuru=scan.next();

 if(shuru.equals(result)==true)

{System.out.println("验证码正确");}

else

System.out.println("验证码错误,请重新输入");

  }

}

4.实验结果截图

 

5.实验总结

该程序中非常重要的就是随机数的产生,先用Math.random()函数产生0~1之间的随机数,然后用int intVal = (int)(Math.random() * 26 + 97)使数的范围扩大到97~122,这样就包括了从a~z所有的字母了,这个非常巧妙的运用。出现的错误就是输入字符串的时候,不会输入,经过查询后解决,还有java中判断两个数是否正确不能简单的用等于号,要用equal函数,否则不管输入什么,输出的都是 一样的,没有判断的过程。

原文地址:https://www.cnblogs.com/zhmbg/p/7635334.html