天天看點

Java随機生成定長純數字或數字字母混合數

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

<code>package</code> <code>randomdata;</code>

<code>import</code> <code>java.util.Random;</code>

<code>public</code> <code>class</code> <code>RandomCharData {</code>

<code>    </code><code>//可以将字元轉換指派給int類型,檢視其ASCII碼</code>

<code>    </code><code>public</code> <code>static</code> <code>void</code> <code>main(String[] args) {</code>

<code>        </code><code>//随機生成純數字</code>

<code>        </code><code>for</code><code>(</code><code>int</code> <code>i=</code><code>0</code><code>;i&lt;</code><code>15</code><code>;i++)</code>

<code>            </code><code>createData(</code><code>20</code><code>);</code>

<code>        </code><code>System.out.println(</code><code>"---------------"</code><code>);</code>

<code>                          </code> 

<code>        </code><code>//生成數字字母</code>

<code>        </code><code>createRandomCharData(</code><code>20</code><code>);</code>

<code>    </code><code>}</code>

<code>    </code><code>//根據指定長度生成字母和數字的随機數</code>

<code>    </code><code>//0~9的ASCII為48~57</code>

<code>    </code><code>//A~Z的ASCII為65~90</code>

<code>    </code><code>//a~z的ASCII為97~122</code>

<code>    </code><code>public</code> <code>static</code> <code>void</code> <code>createRandomCharData(</code><code>int</code> <code>length)</code>

<code>    </code><code>{</code>

<code>        </code><code>StringBuilder sb=</code><code>new</code> <code>StringBuilder();</code>

<code>        </code><code>Random rand=</code><code>new</code> <code>Random();</code><code>//随機用以下三個随機生成器</code>

<code>        </code><code>Random randdata=</code><code>new</code> <code>Random();</code>

<code>        </code><code>int</code> <code>data=</code><code>0</code><code>;</code>

<code>        </code><code>for</code><code>(</code><code>int</code> <code>i=</code><code>0</code><code>;i&lt;length;i++)</code>

<code>        </code><code>{</code>

<code>            </code><code>int</code> <code>index=rand.nextInt(</code><code>3</code><code>);</code>

<code>            </code><code>//目的是随機選擇生成數字,大小寫字母</code>

<code>            </code><code>switch</code><code>(index)</code>

<code>            </code><code>{</code>

<code>            </code><code>case</code> <code>0</code><code>:</code>

<code>                 </code><code>data=randdata.nextInt(</code><code>10</code><code>);</code><code>//僅僅會生成0~9</code>

<code>                 </code><code>sb.append(data);</code>

<code>                </code><code>break</code><code>;</code>

<code>            </code><code>case</code> <code>1</code><code>:</code>

<code>                </code><code>data=randdata.nextInt(</code><code>26</code><code>)+</code><code>65</code><code>;</code><code>//保證隻會産生65~90之間的整數</code>

<code>                </code><code>sb.append((</code><code>char</code><code>)data);</code>

<code>            </code><code>case</code> <code>2</code><code>:</code>

<code>                </code><code>data=randdata.nextInt(</code><code>26</code><code>)+</code><code>97</code><code>;</code><code>//保證隻會産生97~122之間的整數</code>

<code>            </code><code>}</code>

<code>        </code><code>}</code>

<code>        </code><code>String result=sb.toString();</code>

<code>        </code><code>System.out.println(result);</code>

<code>                      </code> 

<code>    </code><code>//根據指定長度生成純數字的随機數</code>

<code>    </code><code>public</code> <code>static</code> <code>void</code> <code>createData(</code><code>int</code> <code>length) {</code>

<code>        </code><code>Random rand=</code><code>new</code> <code>Random();</code>

<code>            </code><code>sb.append(rand.nextInt(</code><code>10</code><code>));</code>

<code>        </code><code>String data=sb.toString();</code>

<code>        </code><code>System.out.println(length+</code><code>" random data: "</code><code>+data);</code>

<code>}</code>

産生結果如下:

<code>97862483216351602095</code>

<code>70514049428709111734</code>

<code>58909883924816310266</code>

<code>57687118857245129003</code>

<code>61026032192487969045</code>

<code>24071314312917474726</code>

<code>33994529915727126720</code>

<code>96782018153746273742</code>

<code>63798758707067214215</code>

<code>07076213273633627868</code>

<code>48227106476502535792</code>

<code>59944228129822555128</code>

<code>20025042941676211212</code>

<code>70116211781380045731</code>

<code>88967160116193801569</code>

<code>---------------</code>

<code>0Qa0cZYe6YyMf4zrLEzEJqK6f</code>

<code>MwwDl6Kan92RseOPWJuf6WpnF</code>

<code>0H1249B0Y7qoGmbj0ZWeCliId</code>

<code>PIsRRAS99XIbPwBqCdV7BUt7e</code>

<code>X6R5cotl638K83c4fowNv0S3j</code>

<code>03p7YzBA0q2OlB70pL4MTQf5P</code>

<code>7x5Yd57SOYGoTS9ABi8RA2F5y</code>

<code>1XVK9wrhrFxINd4gpi4Ip05Hg</code>

<code>r53YoB2aBgeP2i4061A2CMNK2</code>

<code>X1R3VWi7423VSs0j0u6R7uMy7</code>

<code>uCQ19SGe4U19V9U4XVqB5QDmc</code>

<code>2OaJ1O3JC52617kMTH2yK9yyJ</code>

<code>kM85MalnsR8T299yR8B0bP5DH</code>

<code>rAApB65VXpj4qxp0gEj4Oh34I</code>

<code>3k88S216XWbK83XaCTnvin02f</code>

本文轉自 zhao_xiao_long 51CTO部落格,原文連結:http://blog.51cto.com/computerdragon/1219750