zoukankan      html  css  js  c++  java
  • 使用类型转换生成六位验证字符,实现用户输入验证码的功能

    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函数,否则不管输入什么,输出的都是 一样的,没有判断的过程。

  • 相关阅读:
    《大型网站技术架构》学习笔记——架构演化
    ASP.NET MVC之Html.RenderAction
    设计模式学习笔记——面向对象设计原则
    设计模式学习笔记——类图
    观察者模式
    泛型接口
    泛型的实例化应用
    多线程第二种方式-实现runnable
    对象中的某个属性不希望被序例化--transient
    对象序例化
  • 原文地址:https://www.cnblogs.com/zhmbg/p/7635334.html
Copyright © 2011-2022 走看看