国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java生成隨機數的方法

2019-11-26 15:10:30
字體:
來源:轉載
供稿:網友

本文實例講述了java生成隨機數的方法。分享給大家供大家參考。具體實現方法如下:

package com.tool.code; import java.util.Random; public class RandomNum {  private static char ch[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8',  '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L',  'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y',  'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',  'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y',  'z', '0', '1' }; //最后又重復兩個0和1,因為需要湊足數組長度為64 private static Random random = new Random(); //生成指定長度的隨機字符串 public static String createRandomString(int length) {  if (length > 0) {   int index = 0;   char[] temp = new char[length];   int num = random.nextInt();   for (int i = 0; i < length % 5; i++) {    temp[index++] = ch[num & 63];   //取后面六位,記得對應的二進制是以補碼形式存在的。    num >>= 6;//63的二進制為:111111    // 為什么要右移6位?因為數組里面一共有64個有效字符。   //為什么要除5取余?因為一個int型要用4個字節表示,也就是32位。  }   for (int i = 0; i < length / 5; i++) {    num = random.nextInt();    for (int j = 0; j < 5; j++) {     temp[index++] = ch[num & 63];     num >>= 6;    }   }   return new String(temp, 0, length);  } else if (length == 0) {   return "";  } else {   throw new IllegalArgumentException();  } } //根據指定個數,測試隨機字符串函數的重復率 public static double rateOfRepeat(int number){  int repeat=0;  String[] str=new String[number];  for(int i=0;i<number;i++){//生成指定個數的字符串   str[i]=RandomNum.createRandomString(10);  }  for(int i=0;i<number;i++){//查找是否有相同的字符串   for(int j=i+1;j<number-1;j++){    if(str[i].equals(str[j]))     repeat++;   }  }  return ((double)repeat)/number; } public static void main(String[] args) {  System.out.println(RandomNum.createRandomString(16)+"-"+RandomNum.createRandomString(16));  double rate=RandomNum.rateOfRepeat(10000);//測試10000次的重復率  System.out.println("重復率:"+rate); }}

控制臺運行效果如下:

希望本文所述對大家的java程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 轮台县| 贞丰县| 奉节县| 临漳县| 拜泉县| 镇原县| 郧西县| 甘南县| 越西县| 且末县| 洞口县| 大连市| 新建县| 长汀县| 大丰市| 陆川县| 顺义区| 扎鲁特旗| 天峨县| 黑龙江省| 布尔津县| 鄄城县| 柯坪县| 广丰县| 金平| 张家港市| 台东县| 沾益县| 兴和县| 扶绥县| 东兰县| 蓝山县| 阿克陶县| 紫云| 双桥区| 绵竹市| 吉林市| 丰宁| 保亭| 即墨市| 清丰县|