java生成随机验证码

题目:

随机生成随机位数的验证码,包含大写字母,小写字母,数字

思路:

我们先定义一个生成验证码的方法,然后我们进行for循环,循环n次,就比如要生成5位的验证码,那我们就循环5次。接下来就是生成随机验证码。有三种情况(我们利用switch循环):

        第一种:数字。我们生成0-9之间的随机数字。

        第二种:大写字母。A-Z,对应的ASCII码为65-90。

        第三种:小写字母。a-z,对应的ASCII码为97-122。

随机生成之后,再进行字符串的拼接,最后返回codes;

package Study;

import java.net.MulticastSocket;
import java.util.Random;

public class Create_code {
	public static void main(String[] args) {
		//4.生成验证码
		String res=createCode(5);
		System.out.println("生成的验证码为:"+res);
	}
	//1.定义一个方法返回一个随机验证码,n为生成几位的验证码
	public static String createCode(int n) {
		String codes="";
		Random r=new Random();
		//2.定义一个for循环,随机n次,随机生成字符
		for(int i=0;i<n;i++) {
			//3.生成随机字符,可能是数字,大写字母,小写字母
			int num=r.nextInt(3);
			switch(num) {
			case 0:
				//数字:0-9
				codes+=r.nextInt(10);
				break;
			case 1:
				//大写字母:A(65)-Z(65+25)
				char ch1=(char)(r.nextInt(26)+65);
				codes+=ch1;
				break;
			case 2:
				//小写字母:a(97)-z(97+25)
				char ch2=(char)(r.nextInt(26)+97);
				codes+=ch2;
				break;
			}
		}
		return codes;
	}
}

运行结果:

例如1:5位验证码

 例如2:7位验证码

 例如3:10位验证码

 

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值