1. 程式人生 > >生成指定位數的隨機字串和數字

生成指定位數的隨機字串和數字

import java.util.Random;

public class RandomUtils {
	private static Random randGen = null;
	private static char[] numbersAndLetters = null;
	private static Object initLock = new Object();

	/**
	 * int是字串的長度,即可產生指定長度的隨機字串。
	 * 
	 * @param length
	 * @return
	 */
	public static final String randomString(int length) {

		if (length < 1) {
			return null;
		}
		if (randGen == null) {
			synchronized (initLock) {
				if (randGen == null) {
					randGen = new Random();
					numbersAndLetters = ("
[email protected]
#$%^&*()_+.,/?,.<>';0123456789abcdefghijklmnopqrstuvwxyz沒有啊啊啊啊啊啊啊啊啊啊啊啊").toCharArray(); //numbersAndLetters = ("0123456789abcdefghijklmnopqrstuvwxyz").toCharArray(); } } } char[] randBuffer = new char[length]; for (int i = 0; i < randBuffer.length; i++) { randBuffer[i] = numbersAndLetters[randGen.nextInt(36)]; } return new String(randBuffer); } /** * 產生11位隨機數,以1開頭,類似手機號 * @return */ public static String getRandomPhone(){ StringBuffer sb=new StringBuffer(); for (int i = 0; i < 10; i++) { sb.append((int) (10 * (Math.random()))); } return "1"+sb.toString(); } /** * 產生指定位數的數字 * @param length * @return */ public static final String randomNum(int pwd_len) { //35是因為陣列是從0開始的,26個字母+10個數字 final int maxNum = 36; int i; //生成的隨機數 int count = 0; //生成的密碼的長度 char[] str = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' }; StringBuffer pwd = new StringBuffer(""); Random r = new Random(); while(count < pwd_len){ //生成隨機數,取絕對值,防止生成負數, i = Math.abs(r.nextInt(maxNum)); //生成的數最大為36-1 if (i >= 0 && i < str.length) { pwd.append(str[i]); count ++; } } return pwd.toString(); } public static void main(String[] args) { System.out.println(randomNum(5)); } }
 

相關推薦

生成指定位數隨機字串數字

import java.util.Random; public class RandomUtils { private static Random randGen = null; private static char[] numbersAndLetters = nu

java隨機生成××到××位長度字串數字字母組合(6-13位舉例子)

/** * 目的 :獲取隨機 6-13之間隨機數 包含 6 和 13 * (rd.nextDouble())隨機返回0-1之間的數 不包括1 *  乘以8 隨機產生0-8之間的數 不包括8 *  (int)轉換為整型 則隨機產生0-7之間的整數 */ public stati

JS生成指定位數隨機

可能 過程 con 次方 blog dom and 定位 問題: <html><script> //獲取指定位數的隨機數 function getRandom(num){ var random = Math.floor((Math.

Java生成隨機字串生成隨即類

有時候我們在測試的時候需要構建一些物件,每次測試都要構建很麻煩,所以我們可以構建一些類,並給類賦一些隨機值。 @Data @ToString class Person { private Integer id; private Integer age; pr

隨機驗證碼生成生成隨機字母數字

隨機驗證碼生成 from blog import models from PIL import Image,ImageDraw,ImageFont from io import BytesIO 生成隨機背景顏色 def get_random_color():

JavaScript 隨機生成指定位數的驗證碼

程式碼片段: <html> <title>隨機驗證碼</title> <body> <form name="form1"> 輸入驗證碼的位數:&l

java得到指定位數隨機密碼(由數字,區分大小寫的字母組成)

/** *獲取指定位數密碼 */ public String getCode(int length){ char[] m = new char[lengt

js生成隨機字串數字,字母,特殊字元)

方法 /* ** randomWord 產生任意長度隨機字母數字組合 ** randomFlag 是否任意長度 min 任意長度最小位[固定位數] max 任意長度最大位 ** yuejingge 2

字串數字

由於基礎不紮實,總是吃這樣的啞巴虧。因此每每遇到這種問題我都會總結,即使再小的問題。基礎決定成敗。 let arr = ['11','12']; let newArr = [11,12]; 這兩種寫法是不一樣的,arr想轉化為newArr的話,必須通過遍歷,然後轉化為newArr

Python 生成一段隨機字串的三種寫法

方法1 s1=''.join(random.choice(string.ascii_letters + string.digits) for _ in range(10**7)) 方法2 for _ in range(10**7): s2 += random.choic

生成簽名,隨機字串,XML轉為陣列,陣列轉XML,json封裝,獲取IP地址

/* * ******生成簽名********* */private function getSign($params){ ksort($params); //將引數陣列按照引數名ASCII碼從小到大排序 foreach ($params as $key => $item) {

js 生成一定長度隨機字串

function randomName(len) { len = len || 23; var chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'; var maxPos = chars.length;

C語言,去除檔案沒那個字尾,連線字串數字

1,把檔名去除字尾 2,把字串和數字等多個片段連線起來作為檔名。   char infor_filename[50];//++++++   char *fn;   char fn1[20];   char *p,*p1;//+++++   i

32-C++基礎-混合輸入字串數字

4.2.5 混合輸入字串和數字混合輸入數字和麵向行的字串會導致問題。請看程式4.6中的簡單程式。清單4.6     numstr.cpp//numstr.cpp——following number input with line input #include<iostr

C語言裡的字串數字拼接

注意c的長度一定要能夠容納要轉換的數字的長度。 比如下面的例子,c的長度至少為8(“1234567”+“\0”) #include <stdio.h> #include <string.h> #include <stdlib.h> void main

JavaScript生成指定範圍的隨機數隨機數序列

在JavaScript中我們經常使用Math.random()方法生成隨機數,但是該方法生成的隨機數只是0-1之間的隨機數。先看如下常用方法的特徵: 1.Math.random(); 結果為0-1

IP字串數字互轉

public static long ip2Long(String ipStr){ if(ipStr == null || ipStr.length() == 0){ return 0; } int position1 = ipStr.

shell的字串數字的轉化(數字自動做字串處理,變數名做字串輸出用單引號)

shell裡面怎麼樣把字串轉換為數字? 例如:a="024" 1,用${{a}} 2,用let達到(()) 運算效果。 let num=0123; echo $num; 83 3,雙括號運算子: a=$((1+2)); echo $a; 等同於: a=`expr 1 +

golang生成指定位數的隨機數

1.隨機數 隨機數,是使用一個確定性的演算法計算出來隨機數序。在程式開發中經常需要產生隨機數,如隨機數驗證碼登陸、作為唯一身份標識資料等等。 2.rand庫 golang中產生隨機數主要有兩個包,分別是“math/rand”和“crypto/rand”。 “ma

vc中字串數字轉換的函式:atoi,atol,strtod,strtol,strtoul 型別轉換

strtoul(將字串轉換成無符號長整型數)相關函式     atof,atoi,atol,strtod,strtol表頭檔案     #include<stdlib.h>定義函式     unsigned long int strtoul(const char *nptr,char **endp