自动生成验证码
include
int main()
{
srand(static_cast
string s = "0123456789zxcvbnmasdfghjklqwertyuiopZXCVBNMASDFGHJKLQWERTYUIOP";
cout << "请输入验证码长度:";
int length;
cin >> length;
cout << "最终生成的验证码为:" << endl;
for (int i = 0;i < length;i++)
{
int num = rand() % s.length();
cout << s[num];
}
cout << endl;
system("pause");
return 0;
}
我这个方法比较笨,直接将大小写字母和数字全都放在一个字符串中,利用生成随机数的方式在其中提取随机字符,最终起到生成随机验证码的功能。
以上使用的代码是c++代码,如果要用java,代码如下:
import java.util.Random;
import java.util.Scanner;
public class 各种练习{
public static String generate(int length)
{
String s="0123456789zxcvbnmasdfghjklqwertyuiopZXCVBNMASDFGHJKLQWERTYUIOP";
Random ran=new Random();
StringBuilder res=new StringBuilder();
for(int i=0;i<length;i++)
{
//生成一个从0到length-1的随机数
int index=ran.nextInt(s.length());
res.append(s.charAt(index));
}
return res.toString();
}
public static void main(String[]args)
{
Scanner sc=new Scanner(System.in);
System.out.println("请输入验证码长度:");
int length=sc.nextInt();
System.out.println("输出的验证码为:"+generate(length));
sc.close();
}
}
难点:
1.利用java中自带的生成随机数的头文件Random,直接生成随机数。
2.利用StringBuilder类来进行新的字符串的创建,并在最后用toString函数将结果转换为String形式
相较于c++,java明显更简便,以后还是多尝试使用java吧,当然,c++肯定不会落下
浙公网安备 33010602011771号