Java 生成N位隨機數的方法
最近專案中有一個需求:在自增的id後加上N位隨機數,提高安全性,自己寫了一個簡單的實現方式。
思路:
通過JDK 的Math.random()函式生成一個[0,1]範圍內的隨機數,將這個隨機數乘以 9,然後再加1 就構成了[1,10]範圍的一個隨機數了(1位隨機數)。依次類推,要產生2位的隨機數只需要將Math.random()乘以 90,然後加上10就可以了。
實現程式碼:
/** * 產生4位隨機數 * @return */ protected long generateRandomNumber(int n){ if(n<1){ throw new IllegalArgumentException("隨機數位數必須大於0"); } return (long)(Math.random()*9*Math.pow(10,n-1)) + (long)Math.pow(10,n-1); }
相關推薦
Java 生成N位隨機數的方法
最近專案中有一個需求:在自增的id後加上N位隨機數,提高安全性,自己寫了一個簡單的實現方式。 思路: 通過JDK 的Math.random()函式生成一個[0,1]範圍內的隨機數,將這個隨機數乘以 9
java生成N位隨機數
突然想做一個生產6位或者9位的隨機數。 long start = System.currentTimeMillis(); Random rd = new Random(); String[]
java生成6位隨機數的5種方法
1. 用math.random()實現,比較麻煩的一種方式,思路是:math.random()生成的是[0.0, 1.0)的偽隨機數,如果 當前值是0.9...,則直接*1000000返回,其他情況可能生成0.8...,0.03...,0.0003...,這些情況都*100
Java生成6位隨機數驗證碼
第一種方法:/** * //生成6位隨機數,測試多次後有產生5位隨機數的bug */ public static int randomCode() { StringBuilder str = new StringBuilder(); Random random = new Ran
Java生成三位隨機數
ble log rgs dom ava exti test rand static 轉: public class Test2 { public static void main(String [] srgs) { int i=(int)(Math.rand
js生成四位隨機數的簡便方法
while alert 隨機 out 簡便 logs math clas pre do out = Math.floor(Math.random()*10000); while( out < 1000 ) alert( out );
java隨機生成6位隨機數 5位隨機數 4位隨機數
隨機數,應用會相當廣,驗證數,訂單號,流水號拼接。 下面是java隨機數生成語句: 生成6位隨機數(不會是5位或者7位,僅只有6位): System.out.println((int)((Math.random()*9+1)*100000)); 同理,生成5位隨機數:
生成N位不重複的隨機數
package com.jack.question.random; import java.util.Arrays; import java.util.Random; /** * @author lvh */ public class RandomArray { /* * 如題,定義一
(字串基礎) java字串右移/左移n位的方法
package str.exercise9; public class Test { public static void main(String[] args) { // TODO Auto-generated method stub String str="
java工具類 三 之生成若干位隨機數
java 生成若干位隨機數的問題 在一次程式設計的過程中偶然碰到一個小問題,就是需要生成一個4位數的隨機數,如果是一個不到4位大的數字,前面可以加0來顯示。因為要求最後是一個4位的整數,不帶小數點。當時就想到了幾個辦法: 一、
java工具類(三)之生成若干位隨機數
java 生成若干位隨機數的問題 在一次程式設計的過程中偶然碰到一個小問題,就是需要生成一個4位數的隨機數,如果是一個不到4位大的數字,前面可以加0來顯示。因為要求最後是一個4位的整數,不帶小數點。當時就想到了幾個辦法: 一、 用Math.random() 當時就這
生成count位隨機數工具類
工具類 import java.util.Random; /** * 生成6位隨機數字 */ public class GeneratorCode { /** * * @Title: getCode * @Description: 生成count個隨機數 * @par
C# 生成n位隨機驗證碼
生成n位隨機驗證碼,程式碼如下: public static string RandomCode(int n) { int number; char code; string StrCode = String.Empty; Rand
JAVA——產生N個隨機數
這裡只介紹兩種產生隨機數的方法Random,Math.random. 一、Random 這裡先給出使用模板: package a; import java.util.Random; public class a { public static void main(String
Java 生成四位隨機驗證碼
驗證碼在平時用到的很多,簡單記錄一下生成四位隨機驗證碼的核心程式碼: 生成四位驗證碼(數字與字母混合) String str="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; StringBuilder sb=new StringBuilder(4);
通過js生成n位的字元
var randStr = ""; for (var i = 0; i < 10; i++) {//此處的10為生成10位數字,可更改 var randItem = Math.floor(Math.random() * 10); randStr += randItem;
生成6位隨機數(帶英文)
package test; import java.util.*; public class randomNumUtils{ /* 程式實現的是打印出6位驗證碼有字元有數字交替出現 */ public static Strin
Java物件和例項的關係、Java資料封裝、Java繼承和多型、Java抽象類和介面、Java靜態欄位和方法、Java包和作用域、Java的classpath和jar、Java核心類
Java物件和例項的關係: 面向物件程式設計(Object-Oriented Programming),是對現實世界建立計算機模型的一種方法。 class是物件的模板,它定義瞭如何建立例項,class的名字就是資料型別。一個class裡可以有多個欄位(field),欄位用
生成n個隨機數,放入陣列,然後排序輸出。
我把陣列隨機數值範圍在[0,100] 思路 首先定義一個數組長度為n; 然後排序; /* 生成n個隨機數,放入陣列,然後排序輸出。 */ public class Arroy07 { public static void main(String[] args) { p
java生成4位不重複字元(包含大寫字母、小寫字母、數字)
需要生成4位不重複的字元作為唯一引數,要求只能使用大寫字母、小寫字母和數字的組合。大寫字母26個、小寫字母26個、10個數字共62個字元。不重複排列個數:62*62*62*62=14776336個。 /** * * @author wzp * 2016-3-18