需求:
– 定义方法实现随机产生一个5位的验证码
– 验证码格式:
– 长度为5
– 前四位是大写字母或小写字母
– 最后一位是数字

Admin_LOg
复制代码
  1. import java.util.Random;
  2.  
  3. public class Random_Verification_Code2 {
  4. public static void main(String[] args) {
  5. /*
  6. 需求:
  7. - 定义方法实现随机产生一个5位的验证码
  8. - 验证码格式:
  9. - 长度为5
  10. - 前四位是大写字母或小写字母
  11. - 最后一位是数字
  12. */
  13. /*
  14. 方法:
  15. - 在以后如果要在一堆没有什么规律的数据中随机抽取
  16. - 可以先把这些数据放到数组当中
  17. - 再随机抽取一个索引
  18. */
  19. // 分析:
  20. // 1. 大写字母和小写字母都放到数组当中
  21. char[] chs = new char[52];
  22. for (int i = 0; i < chs.length; i++) {
  23. // ASCII码表
  24. if (i <= 25) {
  25. //添加小写字母
  26. // a --- 97
  27. chs[i] = (char) (97 + i);
  28. // chs[i] = (char) ('a' + i);
  29. } else {
  30. //添加大写字母
  31. // A --- 65
  32. // -26是因为前面i已经自增到26,若先生成大写字母则可以避免此问题。
  33. chs[i] = (char) (65 + i - 26);
  34. // chs[i] = (char) ('A' + i - 26);
  35. }
  36. }
  37. // 定义字符串类型变量,用来记录最终的结果
  38. String result = "";
  39. // 2. 随机抽取四次
  40. // 随机抽取数组中的索引
  41. Random r = new Random();
  42. for (int i = 0; i < 4; i++) {
  43. int randomIndex = r.nextInt(chs.length);
  44. // 利用随机索引获取对应的元素
  45. // System.out.println(chs[randomIndex]);
  46. result = result + chs[randomIndex];
  47. }
  48. // System.out.println(result);
  49. // 3. 随机抽取一个数字 0 ~ 9
  50. int number = r.nextInt(10);
  51. result = result + number;
  52. System.out.println(result);
  53. }
  54. }