要求根据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后面