博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
随机字符串生成算法
阅读量:7104 次
发布时间:2019-06-28

本文共 1476 字,大约阅读时间需要 4 分钟。

IOS算法:

char
data[NUMBER_OF_CHARS];
    
for
(
int
x=0;x<NUMBER_OF_CHARS;data[x++] = (
char
)(
'A'
+ (arc4random_uniform(26))));
    
return
[[NSString alloc] initWithBytes:data length:NUMBER_OF_CHARS encoding:NSUTF8StringEncoding];
 
JAVA实现:
 

给定一个字符集合,给定随机生成的字符串的长度,即可随机生成字符串;

比如{'a','.....,'z'}及长度5,则随机生成一个长度为5的字符串;

 

[java] 
 
  1. package xiazdong.util;  
  2.   
  3. import java.util.Random;  
  4.   
  5. /*根据给定的char集合,生成随机的字符串*/  
  6. public class StringWidthWeightRandom {  
  7.     private Random widthRandom = new Random();  
  8.     private int length;  
  9.     private char[] chars;  
  10.     private Random random = new Random();  
  11.     public StringWidthWeightRandom(char[] chars) {  
  12.         this.chars = chars;  
  13.     }  
  14.       
  15.     //参数为生成的字符串的长度,根据给定的char集合生成字符串  
  16.     public String getNextString(int length){      
  17.           
  18.         char[] data = new char[length];  
  19.           
  20.         for(int i = 0;i < length;i++){  
  21.             int index = random.nextInt(chars.length);  
  22.             data[i] = chars[index];  
  23.         }  
  24.         String s = new String(data);  
  25.         return s;  
  26.     }  
  27.       
  28.   
  29. }  

测试代码:

[java] 
 
  1. package test.com.sap.prd.util;  
  2.   
  3. import junit.framework.TestCase;  
  4.   
  5. import org.junit.Test;  
  6.   
  7. import com.sap.prd.util.StringWidthWeightRandom;  
  8.   
  9. public class StringWidthWeightRandomTest extends TestCase {  
  10.   
  11.     @Test  
  12.     public void testGetNextString()throws Exception{  
  13.         StringWidthWeightRandom random = new StringWidthWeightRandom(new char[]{
    'A','B','C','D','E','F','G'});  
  14.           
  15.         for(int i=1;i<10;i++){  
  16.             System.out.println(random.getNextString(i));  
  17.         }  
  18.     }  
  19. }  

结果:

[java] 
 
  1. F  
  2. CC  
  3. EGE  
  4. CADA  
  5. CFBFC  
  6. DBBCFE  
  7. BFEADFA  
  8. FDEEDACE  
  9. EEFFGFBEG  
如何联系我:【万里虎】www.bravetiger.cn 【QQ】3396726884 (咨询问题100元起,帮助解决问题500元起) 【博客】http://www.cnblogs.com/kenshinobiy/
你可能感兴趣的文章
C++文件结束符的相关问题和解释
查看>>
SQL优化(五) PostgreSQL (递归)CTE 通用表表达式
查看>>
Makefile范例:单文件夹多个.c和.h编译
查看>>
21、深度克隆。
查看>>
微信打开的页面背景音乐无法自动播放
查看>>
sql(join中on与where区别)
查看>>
在pcDuino上搭建一个简单网站
查看>>
微软:我对网络安全最大贡献是免费升级Win10
查看>>
Activity中 FLAG_ACTIVITY_NEW_TASK, FLAG_ACTIVITY_CLEAR_TOP和launchMode 实现清空栈顶行为的调查...
查看>>
最佳(Optimal)置换算法模拟
查看>>
2.3find搜索命令
查看>>
linux命令
查看>>
Java 程序员必备的 Intellij IDEA 插件
查看>>
使用tomcat 7的 maven插件启动项目
查看>>
计算器 abacus 1.0 发布
查看>>
谈谈Memcached与Redis
查看>>
推荐个好用的屏幕截图软件(Screenpresso)
查看>>
OC中的Block(闭包)
查看>>
线程内共享数据的方式
查看>>
网络编程:优雅关闭socket/TIME_WAIT/CLOSE_WAIT/SoLinger
查看>>