Java实现生成随机密码的小练习
实现思路
-
生成含有大小写字母的数组
-
遍历数组并返回随机索引所指向的字母
-
定义一个方法生成0~9的随机数
-
定义一个方法来拼接生成的字母个数字
1.生成含有大小写字母的数组
//生成含有大小写字母的数组 public static char[] getAlphabet(){ char [] Alphabet = new char[52]; //根据Ascii码表 for (int i = 0; i < Alphabet.length; i++) { if (i<=25){ //添加小写字母 Alphabet[i] = (char)(97+i); }else { //添加大写字母 //A--65 Alphabet[i] = (char)(65+i-26); } } return Alphabet; }
2.生成0-9的随机数
//生成0~9的随机数 public static int getNumber(){ return random.nextInt(10); }
3.产生随机字母
//随机产生一个字母 public static char getAal(char[] array){ int randomIndex = random.nextInt(array.length); char Char = array[randomIndex]; return Char; }
生成随机密码
//生成随机密码 public static void getCipher(){ char[] alphabet = getAlphabet(); StringBuilder result = new StringBuilder(new String()); for (int i = 0; i < 5; i++) { int rNumber = random.nextInt(2); if (rNumber==0){ char getChar = getAal(alphabet); result.append(getChar); }else { int get_number = getNumber(); result.append(get_number); } } System.out.println(result); }
完整代码
package com.java.exercise; //Author:@Yh import java.util.Random; /** * 定义方法实现随机产生一个5位的验证码 * 验证码格式: * 随机字母与数字 */ public class randomCipher { static Random random = new Random(); public static void main(String[] args) { randomCipher Main = new randomCipher(); getCipher(); } //生成含有大小写字母的数组 public static char[] getAlphabet(){ char [] Alphabet = new char[52]; //根据Ascii码表 for (int i = 0; i < Alphabet.length; i++) { if (i<=25){ //添加小写字母 Alphabet[i] = (char)(97+i); }else { //添加大写字母 //A--65 Alphabet[i] = (char)(65+i-26); } } return Alphabet; } //随机产生一个字母 public static char getAal(char[] array){ int randomIndex = random.nextInt(array.length); char Char = array[randomIndex]; return Char; } //生成0~9的随机数 public static int getNumber(){ return random.nextInt(10); } //生成随机密码 public static void getCipher(){ char[] alphabet = getAlphabet(); StringBuilder result = new StringBuilder(new String()); for (int i = 0; i < 5; i++) { int rNumber = random.nextInt(2); if (rNumber==0){ char getChar = getAal(alphabet); result.append(getChar); }else { int get_number = getNumber(); result.append(get_number); } } System.out.println(result); } }
运行结果