目录
hi,我是Cx_330 ,今天带来一道逻辑题;
🧒暴力求解版
package com.Cx_330.array;
import java.util.Random;
import java.util.Scanner;
public class ArrayPlay {
public static String verificationCode(int number){
String code="";
String[] codes={"0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k",
"l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","A","B","C","D","E","F","G","H","I","J","K",
"L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};//62个元素
Random random = new Random();
for (int i = 0; i < number; i++) {
int index=random.nextInt(63);
code+=codes[index];
}
return code;
}
public static void main(String[] args) {
System.out.println("请设置您要生成几位验证码: ");
Scanner scanner = new Scanner(System.in);
int number=scanner.nextInt();
String code=verificationCode(number);
System.out.println("您要的验证码为: "+code+" 请保管好您的验证码并在5分钟内使用");
}
}
👧稍带逻辑版
package com.Cx_330.array;
import java.util.Random;
import java.util.Scanner;
public class ArrayPlay {
public static String verificationCode(int number){
String code="";
Random random = new Random();
for (int i = 0; i < number; i++) {
int choice=random.nextInt(3);
//0 1 2 代表随机生成的的是 数字 小写字母 大写字母
switch (choice){
case 0:
//数字 0~9
code+=random.nextInt(10);
break;
case 1:
//小写字母的ASII 65~65+25
code+=(char)(random.nextInt(26)+65);
break;
case 2:
code+=(char)(random.nextInt(26)+97);
break;
}
}
return code;
}
public static void main(String[] args) {
System.out.println("请设置您要生成几位验证码: ");
Scanner scanner = new Scanner(System.in);
int number=scanner.nextInt();
String code=verificationCode(number);
System.out.println("您要的验证码为: "+code+" 请保管好您的验证码并在5分钟内使用");
}
}