Java之生成一個隨機驗證碼(數字+大小寫字母)

鄭清發表於2018-08-24

需求:設計一個方法,獲得指定位數的驗證碼,驗證碼的內容可以包含數字和大小寫字母

ex1:

public class Demo {
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println(getCode(4));//呼叫getCode()方法列印一個四位數的隨機驗證碼結果
	}
	/*
	 * 定義一個獲取隨機驗證碼的方法:getCode();
	 */
	public static String getCode(int n) {
		String string = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";//儲存數字0-9 和 大小寫字母
		char[] ch = new char[n]; //宣告一個字元陣列物件ch 儲存 驗證碼
		for (int i = 0; i < n; i++) {
			Random random = new Random();//建立一個新的隨機數生成器
			int index = random.nextInt(string.length());//返回[0,string.length)範圍的int值    作用:儲存下標
			ch[i] = string.charAt(index);//charAt() : 返回指定索引處的 char 值   ==》儲存到字元陣列物件ch裡面
		}
		//將char陣列型別轉換為String型別儲存到result
		//String result = new String(ch);//方法一:直接使用構造方法      String(char[] value) :分配一個新的 String,使其表示字元陣列引數中當前包含的字元序列。
		String result = String.valueOf(ch);//方法二: String方法   valueOf(char c) :返回 char 引數的字串表示形式。
		return result;
	}
	
}

執行結果圖:(注意:這僅僅只是  隨機生成一個四位數驗證碼  所截的圖)

ex2:

public class Demo {
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println(getCode(4));//呼叫getCode()方法列印一個四位數的隨機驗證碼結果
	}
	/*
	 * 定義一個獲取隨機驗證碼的方法:getCode();
	 */
	public static String getCode(int n) {
		String string = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";//儲存數字0-9 和 大小寫字母
		StringBuffer sb = new StringBuffer(); //宣告一個StringBuffer物件sb 儲存 驗證碼
		for (int i = 0; i < n; i++) {
			Random random = new Random();//建立一個新的隨機數生成器
			int index = random.nextInt(string.length());//返回[0,string.length)範圍的int值    作用:儲存下標
			char ch = string.charAt(index);//charAt() : 返回指定索引處的 char 值   ==》賦值給char字元物件ch
			sb.append(ch);// append(char c) :將 char 引數的字串表示形式追加到此序列  ==》即將每次獲取的ch值作拼接
		}
		return sb.toString();//toString() : 返回此序列中資料的字串表示形式   ==》即返回一個String型別的資料
	}
	
}

 

相關文章