RandomStr实验报告(验证码实验)

要求根据RandomStr.java:使用类型转换生成六位验证字符串,示例程序每次运行时,都会生成不同的字符串。实现上述用户输入验证码的功能。

 信1603 20163548 马雯秋

一、程序设计思想

1.首先建立一个RandomStr类

2.定义空字符串,通过for循环实现随机产生六位字母的随机数

3.强制转化数据类型,将int型强制转化为char类型

4.输出验证码

5.输入验证码

6.验证用户是否输入正确

二、程序流程图

 

三、源程序

//计算机随机产生验证码,用户输入并判断输入是否正确

import java.util.Scanner;

public class RandomStr

{

       public static void main(String[] args)

       {

              String result = "";//定义一个空字符串

              for(int i = 0 ; i < 6 ; i ++)//进行6次循环

              {

                     int intVal = (int)(Math.random() * 26 + 97);//生成一个97~122的int型的整数

                     result = result + (char)intVal;//将intValue强制转换为char后连接到result后面

              }

              System.out.println(result);        //输出随机字符串

              Scanner input=new Scanner(System.in);

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

              String string=input.nextLine();

              if(string.equals(result))

              {

                     System.out.println("验证码输入正确");

              }

              else

              {

                     System.out.println("验证码输入错误");

              }

      }

}

四、实现结果截图

         

五、实验总结

1.在进行验证码是否输入正确的判断语句中,一开始是这样写的:if(string == result),但是判断结果总是“验证码输入错误”。后来通过查阅资料得知java语言中不能用==和!=判断两个变量是否相等,要用if(A.equals(B))语句来判断A和B是否相等。

2. 熟悉强制转化类型语句、以及+在不同情境下的作用(此时为连接符,不代表加法运算)

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

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

result = result + (char)intVal;

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

原文地址:https://www.cnblogs.com/wenqiu1998/p/7630113.html